1112-Activity的affinity属性一

affinity本意是“和什么相似/一样”,这个一样是针对任务栈而言,所以也翻译为“任务相关性”。

affinity可以告诉所在的task,自己是这个task中的一员;拥有相同affinity的多个
Activity在理论上同属于一个task,一个任务的affinity由根Activity的affinity值所决定

也就是说,对于一个任务来说,其affinity值是由FirstActivity决定的。而我们一般并没有在FirstActivity的声明中设置taskAffinity属性,因此默认情况下,一个应用内的所有Activity都具有相同的affinity,都是从Application(参考的taskAffinity属性)继承而来,而Application默认的affinity是中的包名,我们可以为设置taskAffinity属性值,这样可以应用到下的所有,也可以单独为某个Activity设置taskAffinity。

例如:在系统自带的Browser中,package为com.android.browser,但是却自定义一个taskAffinity属性值:

  

你可能感兴趣的:(1112-Activity的affinity属性一)