Activity的四种启动模式

1.standard模式:

    默认启动模式,无论任务栈是否有Activity的实例,系统都会创建新的实例。(如图1)


图1

2.singleTop模式:

如果位于栈顶,再次启动不会创建新的实例,否则创建新的实例。(如图2)


图2

3.singleTask模式:

    如果位于栈顶,不创建实例,如果不在栈顶,系统会把该Activity移到栈顶,并把上面的Activity出栈。(如图3)


图3

4.singleInstance模式:

    整个系统里面只有一个实例,启动Activity时系统会创建新的任务栈,并且栈中只有它一个Activity。再次启动Activity时

    不会创建新的栈,而是将以前创建的Activity唤醒。(如图4)


图4

singleInstance模式要慎用,有很多坑:

坑一:两个Activity A和B,B为singleInstance模式,先启动A,在启动B,按Home键,在桌面重新点击APP图标,打开的是A页面。

坑二:A、B、C三个Activity,B为singleInstance模式,启动A->B->C,在C页面点击返回键,返回到A页面,在点返回键,返回B页面。

再次,Activity的四种启动模式已介绍完,如有错误,请大家勿喷,多多指教!(感谢zy_jibai提供图)

你可能感兴趣的:(Activity的四种启动模式)