taskAffinity与allowTaskReparenting与launchMode之间的联系解读

来源:互联网 发布:房价数据哪里找 编辑:程序博客网 时间:2024/05/21 11:20

1、taskAffinity与allowTaskReparenting联合使用

allowTaskReparenting 如果为false,此情况下也就没多大意义了。倘若为true,如果当此Activity 进入后台时候(home键),就会移入taskAffinity指定的task任务中。比如 :你的app1打开浏览器activity1--->home键,打开浏览器应用,就会显示activity1。

注意:如果launcheMode:singleTask,为浏览器应用的rootTask。如果为Standar则不是。

2、taskAffinity与launchMode之间的关系

launchMode 为singleTask的情况下关系才体现的出来。在之前的博客中《 

Android启动模式:singleTask的深究

》提到的 singleTask并不一定创建新的task的问题。其根本的原因在于:当启动singleTask的Activity时候,就会寻找taskAffinity(默认值为app指定的,如果没有就是包名) 所指定的任务名称,如果不存在,则就会新建task,如果存在则执行clearTop操作,并在此task中启动此Activity。

(为啥说只和singleTask有关系,其他模式:standar模式启动,此Activity的所在的task为启动它的应用所在的task。singleTop同样如此。singleInstance,单例。为了保持此task仅有一个实例,此模式下,此属性忽略。)



0 0
原创粉丝点击