- 每个应用有一个栈stack,每个栈中元素是task,task本身也是一个栈,它的元素是Activity。
- standard(默认标准模式):每启动一次,就创建一个新实例,并放到栈顶,并且该实例放在同样的任务task中、同样的activity栈中。不会再新创建栈、task。
- singleTop模式:如果栈中已经有待启动实例并且位于栈顶那么就复用之,否则跟standard模式一样
- singleTask模式:如果栈中已经有了该实例,移除其上面的所有实例以使得该实例放在栈顶,否则创建新实例并且放置在栈顶。
- singleInstance模式:实例独占一条task并且位于栈顶
扩展:在游戏的界面可以采用上面的类似方式,有些界面在全屏模式下打开唯一可见,我们称之为fullScreenSingle模式,其他的非fullScreenSingle模式的就类似singleTask(但不是移除待打开界面之上的实例,而是把待打开界面放到顶)。
这里的每一个fullScreenSingle看成一个task,在该界面之上打开的所有非fullScreenSingle界面是其中的activity,主界面可以看成是一个默认的fullScreenSingle界面(task)。