学而不思则罔,思而不学则殆.
了解Task: 基础总结篇之三:Activity的task相关
1, 要想生成新的 Task栈,必须满足2点:
- LaunchMode=singleTask 或者 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- taskAffinity 必须与默认的不相同, 设置格式为 android:taskAffinity="s.s" ,必须含".",不然报格式错误:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
2, Intent 常用flag:
- FLAG_ACTIVITY_NEW_TASK;
- FLAG_ACTIVITY_CLEAR_TASK;
- FLAG_ACTIVITY_CLEAR_TOP;
3, <activity>的task相关属性:
- 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实例了; 路漫漫其修远兮,吾将上下而求索.