启动模式

1、Android进阶系列之启动模式    

2、Android 深入解析 Activity 的 launchMode 启动模式,Intent Flag,taskAffinity

心得 :

A activity 启动B activity (activity默认askAffinity为包名)

当B的启动模式为singleTask或singleInstance时,则启动B taskAffinity 所在的栈

当B的启动模式为standard或singleTop时,则启动与A taskAffinity 所在的栈

intent flag:

FLAG_ACTIVITY_CLEAR_TASK 

    该标志必须和FLAG_ACTIVITY_NEW_TASK一起使用。 

FLAG_ACTIVITY_CLEAR_TOP 

A->B->C   C 启动A 的intent带有FLAG_ACTIVITY_CLEAR_TOP ,A,B,C 销毁,A会重新启动,如果intent还带有FLAG_ACTIVITY_SINGLE_TOP,A就不会销毁

FLAG_ACTIVITY_NEW_TASK 

A以FLAG_ACTIVITY_NEW_TASK 启动B

如果B是主栈 (mainactivity所在的栈),则与standard模式一样;如果B是次栈,则启动B taskAffinity所在的栈,栈里面的顺序不变 

FLAG_ACTIVITY_NO_HISTORY 

一离开就会被销毁

FLAG_ACTIVITY_NEW_DOCUMENT 

如果找到B存在,则调用B所在的栈操作,如果B不存在,则打开新的栈放在新的任务列表里

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