启动模式

再说Activity的四种启动模式

纵然是瞬间 提交于 2019-12-03 01:30:16
Android启动模式分为四种,分别为:standard、singleTop、singleTask、singleInstance stander 标准启动模式: 这是Activity默认的启动模式,也是逻辑最简单的一种,只要Activity使用这种模式进行启动,系统会不管三七二十一,直接create一个Activity实例出来,然后加入到Task顶。 2. singleTop: 这中启动模式和standard的最大区别,就是它在启动时会检查Task顶部是否已经存在该Activity实例,if 存在 则重用已经存在的实例,else 重新创建一个activity实例并加入task顶部。 3.singleTask 这种启动模式相对于上面两个,就比较复杂。如果activity以这种模式启动,会执行下面的流程: a)系统会先为这个Activity加上Flag_new_task 的标签 b)获取该activity的 taskAffinity属性(该属性默认为应用程序的包名) c)检查系统中是否已经存在taskAffinity属性值所对应的Task: !)如果存在该Task:则先检查该Task中是否有目标Activity的实例,if存在,则清空该实例以上所有的Activity实例,将该Activity实例放在Task顶部。如果不存在,则重新创建一个该Activity的实例,并且加入到该Task中