设置Activity的启动模式,只需要在AndroidManifest.xml里对应的<activity>标签设置Android:launchMode属性
<1>Standard(默认-标准模式)
自己可以启动自己(会创新一个新的Activity)
解释:启动时有一个OneActivity,里面有个按钮跳自己,这样就会创建一个新的OneActivity叠加在上面,按返回键需要按两次才到桌面。
在栈顶只允许有一个相同的Activity
自己不能启动自己
解释:当自己处于栈顶时,他不能够自己调自己,比如有一个OneActivity和一个TwoActivity,当OneActivity处于可视时,就不能自己调自己。TwoActivity也同样。
如果要启动的Activity存在,则干掉要启动的Activity上面的所有的Activity
解释:比如我们有OneActivity、TwoActivity、ThreeActivity,依次排列。栈的最上方是ThreeActivity,OneActivity在最下方。此时如果ThreeActivity 跳OneActivity,就会把OneActivity上面的所有Activity全部移除。
<4>SingleInstance(全局单例模式)
解释:程序有三个ActivityOne,Two,Three,三个Activity可互相启动,其中Two为singleInstance模式。那么程序从One开始运行,假设One的taskId为200,那么从One启动Two时,Two会新启动一个task,即Two与One不在一个task中运行。假设Two的taskId为201,再从Two启动Three时,Three的taskId为200,也就是说它被压到了One启动的任务栈中。