总共有4种启动模式,是standard、singleTop、singleTask和singleInstance,通过在AndroidManifest.xml中通过给<activity>标签指定android:launchMode 属性来选择启动模式。
4种启动模式
- standard
在没有进行显式指定的情况下的默认启动模式,其特点是:每启动一个活动,就会在返回栈中入栈且处在顶层,即便栈中已经存在一个相同的活动,每次启动活动系统还是会不断地创建新的实例。 - singleTop
与standard相对,若要启动的活动刚好就是处在栈的顶层的这个活动,系统就会直接调用这个活动,而不是再重新创建新的实例。 - singleTask
若要启动的活动并不处在栈的顶层,而是在下面的某个层中,本模式下,系统会在栈中先寻找是否有相同的活动,一旦有,会将其上的所有其他活动出栈,使目标活动位于顶层,然后调用;若没有,再创建新的实例。 - singleInstance
将此活动单独存放在一个新建的返回栈中,这样可以方便其他程序来访问此活动,即实现了 活动的共享。