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实例。
网友评论