1 standard
先进先出 默认方式,你不断的startActivity 就会不断的向同一个任务栈中创建新的Activity实例,类似于队列 先进先出
2 singleTop
栈顶复用 ,啥叫栈顶复用,如果你的activity 已经是最后一个启动的,这个时候你再启动下,就不会创建新的了
A B两个Activity ,两值acitivity ,启动顺序为 A --> B --> B --> ,B被启动了多次,最终任务栈里的顺序是 A -- B,只有两个。如果多次启动B只会调用B的newIntent()方法而已。。。。。
3 singleTask
只有一个实例,如果这个实例不存在,就会new 一个,放到栈顶,如果已经存在了,就会销毁栈顶至改实例已存在中间的所有。
有ABCD 4个activity 在任务栈里的顺序也是ABCD
此时,你一个开心,启动了一个C ,此时D就销毁了,顺序变成了ABC
此时,你一个开心,启动了一个D,此时不会销毁任何,顺序不变,只会调用D的newIntent()方法
4singleInstance
这个玩意比较屌了。自己在一个任务栈,不跟别人玩。有自闭症,多次启动只会调用new Intent();