一、default
1.1 default
默认情况下(即没有 newtask flag),启动一个 Activity 时,被启动的 Activity 会在启动它的 Activity 的栈中创建(不管它们 taskAffinity 是否一样)。
如 A 启动 B,B 会在 A 的栈中被创建。
1.2 单独 singletop
activity 在前台(当前显示的栈的栈顶),不创建,它自己 onNewIntent 被调用
activity 不在前台,创建
1.3 单独 cleartop
activity 在启动它的栈里存在,它上面的 activity 会出栈,它自己 finish 后重建
activity 在启动它的栈里不存在,在启动它的栈里创建
1.4 cleartop + singletop
activity 在前台(当前显示的栈的栈顶),不创建,它自己 onNewIntent 被调用
activity 不在前台
activity 在启动它的栈里存在,它上面的 activity 会出栈,它自己 onNewIntent 被调用
activity 在启动它的栈里不存在,在启动它的栈里创建
二、newtask
加上 newtask flag 后,启动一个 Activity 时,如果需要创建,被启动的 Activity 会在它需要的栈中创建。
如 A 启动 B,B 会在 B 自己需要的栈中被创建(即 taskAffinity 指定的栈)。
2.1 单独 newtask
activity 需要的栈存在,