Android Activity启动模式
Android Activity启动模式有四种,分别是:Standard(默认),SingleTop, SingleTask,SingleInstance模式。
下面分别是四种Activity的区别:
先假设有两个Activity:A和B,A已经启动(所有的Activity启动之后都是在任务栈里)。
1:Standard
所有的Activity都共享一个任务栈,每启动一个Activity,不做任何检测,直接在任务栈顶创建该Activity的实例。
2:SingleTop
所有的Activity也都共享一个任务栈,但是在启动Activity时,会检测该Activity的实例是否已经在栈顶,不在则在任务栈顶创建该Activity的实例,否则不创建,栈没有变化。
3:SingleTask
所有的Activity也都共享一个任务栈,但每个Activity只创建一个实例,在启动Activity时,会检测该Activity的实例是否已经存在于栈中,是的话将该Activity的实例至于栈顶,但栈中位于该Activity的上面的其他Activity,将会被出栈,否则创建该Activity的实例置于栈顶。
3:SingleInstance
每个Activity只有一个实例,且在不同的栈中,即独立的栈中。