android:launchMode
启动模式是Activity启动时的模式,有两种设置方式:
- 在AndroidManifest.xml中的标签的android:launchMode属性设置
- 通过代码intent.addFlags(Intent.FLAG_ACTIVITY_*)来设置
TASK(任务栈)
在理解activity启动模式前,我们需要有android的TASK(任务栈)的概念。
通常,我们app存在多次activity跳转的情况下,依次按back键是会回到MainActivity的。因为android系统默认给我们提供了一个以我们包名命名的任务栈。当我们activity依次跳转时,它会将activity 压入默认包名任务栈,栈的结构遵循先进后出
像一个放羽毛球的容器,最后放进去的羽毛球最先出来。
所以我们可以依次回退activity。
一个Application 可以有多个任务栈,可以通过在AndroidManifest某一activity添加android:taskAffinity为不同activity 指定任务栈(不指定就是包名任务栈),因为有多个任