Activity 的 Task 以及 launchMode 研究
本文深入讲解 Android 的任务栈与 Activity 启动模式。任务是一系列 Activity 的集合,其具体实现就是一个栈:App 的入口页面被压入栈底,用户每打开一个新页面就被添加到栈顶,栈中元素的顺序不会被重新排列,只发生进栈与出栈两种动作。文章厘清了任务与回退栈这两个概念之间的关系,指出 Activity 必须被加载进某个任务中才能完成实例化,并进一步解释了亲缘性这一属性的作用——每个任务的取值等于其根 Activity 的取值,系统正是综合了 Intent 携带的诸多标志位与清单文件中的众多配置,来为一个新 Activity 寻找归属的任务。在此基础上,文章系统梳理了四种启动模式的定义、所属类别与典型使用场景,并总结了那些同样会影响任务行为的关键属性。