Android学习(二)——Activity四种启动模式
Activity的启动模式可以在清单文件中通过标签指定launchMode属性来选择启动模式。
1.standard
Android默认的启动模式,每次启动新的Actvity,系统不管back stack中是否已经有这个Activity,每次启动都会创建一个新的该Activity的实例,入栈,处于栈顶。
2.SingelTop
启动Activity时,如果栈顶已经是该Activity,则直接调用它,不在则创建新的实例;
3.singleTask
启动Activity时,首先会在back stack里找有没有这个Activity,如果有,则它上面的所有activity出栈,直接调用该activity的实例。注意,如果singleTask模式指定了不同的了taskAffinity属性值,则启动时就会启动一个新的back stack,否则就入栈到已有的back stack里去。
4.singletask:activity始终是task的唯一成员,任何由此开始的activity都在一个单独的任务栈当中。这种模式下会有一个单独的返回栈来管理这个Activity,不管是哪个应用程序来访问这个Activity,都共享一个返回栈,也就解决了贡献Activity实例的问题。