Activity的四种启动模式(LaunchMode)

Activity一个有4种启动模式,分别是:standard、singleTop、singleTask、singleInstance。

这4种启动模式可以在AndroidManifest.xml文件中的标签下的android:launchMode 属性进行设置。


Activity栈是一个后进先出的列表,用于保存要启动的Activity实例。


1.standard

 standard是Activity默认的启动模式,每次启动Activity时,都会创建一个新的Activity实例,并加入到栈顶。

2.singleTop

如果要启动的Activity实例没有在栈顶,则会创建新的Activity实例并加入到栈顶,如果要创建的Activity已经在栈顶了,则不会重新创建新的实例,会使用当前栈顶相同的实例并会触发onNewIntent方法。

3.singleTask

使用singleTask启动模式时,分为两种情况:

(1)启动的Activity实例不存在:创建新的Activity实例并加入栈顶。

(2)启动的Activity实例已存在栈中:不创建新的Activity实例,只需要把该Activity之上的其他Activity弹出(pop),保持该Activity处于栈顶。

4.singleInstance

只允许一个实例存在,每次调用时都会使用同一个实例引用。

你可能感兴趣的:(Android)