Android—Activity启动

来源:互联网 发布:天行健网络 编辑:程序博客网 时间:2024/05/16 15:49

     设置Activity的启动模式,只需要在AndroidManifest.xml里对应的<activity>标签设置Android:launchMode属性   


      <1>Standard(默认-标准模式)

自己可以启动自己(会创新一个新的Activity)

  解释:启动时有一个OneActivity,里面有个按钮跳自己,这样就会创建一个新的OneActivity叠加在上面,按返回键需要按两次才到桌面。


<2>SingleTop(顶单例模式)

在栈顶只允许有一个相同的Activity

自己不能启动自己

解释:当自己处于栈顶时,他不能够自己调自己,比如有一个OneActivity和一个TwoActivity,当OneActivity处于可视时,就不能自己调自己。TwoActivity也同样。


<3>SingleTask(内单例模式)

如果要启动的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启动的任务栈中。