Android之Activity的启动模式

启动模式有4种,分别为:
1.standard(默认)  -- 标准
2.singleTop  -- 单顶
3.singleTask -- 单任务
4.singleInstance: -- 单例  -- 如果应用1的任务栈中创建了MainActivity实例,如果应用2也要激活MainActivity,则不需要创建,两应用共享该Activity实例。(单例)

这种启动模式比较特殊,它会启用一个新的栈结构,将Acitvity放置于这个新的栈结构中,并保证不再有其他Activity实例进入。 通过this.getTaskId()来显示栈结构ID。

在AndroidManifest.xml配置<activity>的android:launchMode属性为以上四种之一。

Activity_launchMode_singleInstance

SecondActivity和FourthActivity都是singleInstance模式,其他都是standard模式。

back :

FifthActivity (5) —> ThirdActivity (3) —>FirstAty (1) —>FourthActivity (4) —> SecondActivity (2)

结论:

singleInstance都会单独创建一个新的返回栈。

其余详见:

http://www.cnblogs.com/fanchangfa/archive/2012/08/25/2657012.html

运用场景:

http://blog.csdn.net/berber78/article/details/19628153

http://www.tuicool.com/articles/iIf6BbV

原文地址:https://www.cnblogs.com/H-BolinBlog/p/5267782.html