一、四种启动模式
- 默认是stander
- singleTop 栈顶复用
- singleTask 栈内复用
- singleInstance 单例
二、详解
stander 标准模式。如果启动它的context不是singleInstance,那么它就和启动它的context处于同一个task栈。不管当前task栈里是否已经存在这个Activity的对象。
singleTop,栈顶复用。假设要启动Activity_A。如果启动它的context不是singleInstance,那么它就和启动它的context处于同一个task栈。如果当前task栈的栈顶是一个Activity_A的一个对象,那么复用栈顶的这个对象,如果栈顶的不是,则新建一个Activity_A对象,并进栈。
singleTask 栈内复用。假设要启动Activity_B。如果启动它的context不是singleInstance,并且没有指定taskAffinity参数,那么它就和启动它的context处于同一个task栈。如果当前task栈里存在一个Activity_B的对象,则在此对象栈顶的activity全部出栈,否则新建一个对象并进栈。
4、singleInstance,单例模式,加强版singleTask,并且自己独享栈。