- standard 标准模式, 不指定时默认
- singleTop 栈顶复用模式,如果当前 Activity 已经处于栈顶,则不会创建新的该 Activity 实例,测试时就是处于 栈顶的 Activity 自己启动自己(实际中还没遇到这种情况)
- singleTask :栈内复用,当该 Activity 被启动时,它之上的其他 Activity 实例都会被清除。
- singleInstance:加强的 singleTask 模式,不同的是它会为该 Activity 实例创建一个新的任务栈,但是这个任务栈在后台也看不到。
前台后台的切换
-
a (默认模式)——》b(默认模式)
-
c (singleTask 模式 设置属性:android:taskAffinity=“com.a.b.c”)——》d(singleTask 模式 设置属性:android:taskAffinity=“com.a.b.c”)(两个必须同时设置)此时的这两个 activity 实例处于一个新的任务栈中,可以在后台可见。
启动顺序 | 栈内顺序(由下而上) |
---|---|
a->b->c | a b c |
a->b->d | a b c d |