天天看点

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实例了; 路漫漫其修远兮,吾将上下而求索.