1.standard模式:
默认启动模式,无论任务栈是否有Activity的实例,系统都会创建新的实例。(如图1)
2.singleTop模式:
如果位于栈顶,再次启动不会创建新的实例,否则创建新的实例。(如图2)
3.singleTask模式:
如果位于栈顶,不创建实例,如果不在栈顶,系统会把该Activity移到栈顶,并把上面的Activity出栈。(如图3)
4.singleInstance模式:
整个系统里面只有一个实例,启动Activity时系统会创建新的任务栈,并且栈中只有它一个Activity。再次启动Activity时
不会创建新的栈,而是将以前创建的Activity唤醒。(如图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提供图)