Activity 启动LaunchMode

2019-08-23  本文已影响0人  柴西卡夫卡

standard:在启动task中创建一个新的实例
singleTop:如果启动Activity是singleTop,启动时,如果栈顶已经存在该Activity的实例,则不会创建新实例,而是调用onNewIntent,否则创建新实例。
singleTask:伪代码

if (启动Task的affinity == Activity的affinity) {
   if (Activity的实例已经在于启动Task) {
       Activity启动并且清除其之上的Acitivity 
   } else {
       在启动Task中创建该Activity实例
   }
} else { // Task 的 affinity 属性值与 Activity 不一样
   新建Activity.affinity属性的Task
   在新建的Task中,创建该Activity实例
}

singleInstance:标识的Activity,处于新的Task中,该Task只有这一个Activity实例。

上一篇 下一篇

猜你喜欢

热点阅读