天天看點

Android學習筆記之----Activity(三)總結整理

學而不思則罔,思而不學則殆.

了解Task: 基礎總結篇之三:Activity的task相關

1, 要想生成新的 Task棧,必須滿足2點:

  1. LaunchMode=singleTask 或者 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  2. taskAffinity 必須與預設的不相同, 設定格式為 android:taskAffinity="s.s" ,必須含".",不然報格式錯誤:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

 2, Intent 常用flag:

  1. FLAG_ACTIVITY_NEW_TASK;
  2. FLAG_ACTIVITY_CLEAR_TASK;
  3. FLAG_ACTIVITY_CLEAR_TOP;

 3, <activity>的task相關屬性:

  1. android:alwaysRetainTaskState; 這個屬性用來标記應用的task是否保持原來的狀态,“true”表示總是保持,“false”表示不能夠保證,預設為“false”。

總結: Android 應用通常由若幹Activity構成, 而 Activity又由各元件構成, 各個元件又各有分工, 有的負責顯示, 有的負責資料, 有的負責互動, 等等; (感覺好像海賊王的人物關系^_^). 相信都聽過 Everthing under Control 吧, 比如: 重新整理頁面, 不要一味地在 onResume裡調接口, 可以使用 startActivityForResult() , 這個方法還可以一直嵌套下去, 而且都會有一個 onActivityResult(int requestCode, int resultCode, @Nullable Intent data)  方法與之對應, 又比如:  FLAG_ACTIVITY_CLEAR_TASK, 這個Flag利用好了, 就不用在 Application 裡面建立一個list去逐個添加建立的Activity執行個體了; 路漫漫其修遠兮,吾将上下而求索.