Activity的启动模式

1.定义

2.模式类型

(1)标准模式:直接创建新的对象并放在顶部
(2)栈顶复用模式:由于顶部是B,所以仍然要创建新的对象放在顶部,不过,如果是打开B Activity,那就不用创建,直接复用
(3)栈内复用模式:直接把B移出去,底部的A成为栈顶
(4)单例模式:创建一个新的堆栈,创建一个存进去

3.知识储备

4.类型的具体介绍

(1)标准模式
(2)栈顶复用模式
(3)栈内复用模式
(4)单例模式

5.四种启动模式的区别

(1)决定打开的任务栈
(2)是否允许多个相同的activity实例
(3)是否允许不同的Activity实例存在于同一个任务栈内
(4)是否每次都生成新实例

6.启动模式的设置

(1)在AndroidMainifest设置


(2)通过Inetent设置标志位

Intent intent = new Intent(ActivityA.this, ActivityB.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startAcitity(intent);

(3)二者的区别
a、二者的优先级不同:通过intent设置方式的优先级要高于manifest的设置方式;
b、限定范围不同:manifest的设置方式无法设置FLAG_ACTIVITY_CLEAR_TOP, Intent设置方式无法设置单例模式SingleInstance

7.总结

你可能感兴趣的:(Activity的启动模式)