day_03 活动的四大启动模式
- standard:每次激活一个活动时,都会创建活动实例,并放入任务栈中。
假如激活了第一张图的这些活动,想再激活活动一,则直接新建活动一。


- singleTop:如果想要激活的活动在栈顶,则不需要新建活动实例,否则,需要新建一个活动实例。
比如想激活活动三,如果在栈顶,则不用再重复创建。

- singleTask:如果检测到栈中存在想要激活的活动,则将该活动上面的活动出栈,将想要激活的活动实例放在栈顶。
在上面的图的基础上,如果想激活活动一,则将二三出栈,将活动一放在栈顶。

- singleInstance: 只有一个实例,并且这个实例独立运行在一个task中,并且这个task中只存放这一个活动实例。

测试:(每个活动里的onCreate里都写一个日志)getTaskId是得到Task的id,通过id的不同来证明。
(活动一)Log.e("Activity1","MainActivity1_onCreate_taskID"+getTaskId);
(活动二)Log.e("Activity2","MainActivity2_onCreate_taskID"+getTaskId);
运行结果:
Activity1: Activity1_onCreate_TaskID72
...
Activity2: Activity2_onCreate_TaskID73
每一个活动所在的Task都不同,除了这个模式之外其余三个模式都相同
那这些模式写在哪呢?
例如:singleTop模式。
如果不写,默认standard模式。


浙公网安备 33010602011771号