网上讲解activity的launchmode时,对singletask大部分的说明都是:“singleTask”和”singleInstance”则限制只生成一个实例,并且是task的根元素。
这个的后半句是错的,幸好看到了几篇专门讲解singletask模式的文章。
推荐:http://blog.csdn.net/luoshengyang/article/details/6714543 这个是老罗的
以及 http://blog.csdn.net/wdaming1986/article/details/7304191
从singletask讲起,就不得不提到taskaffinity属性。taskaffinity顾名思义,就是描述activity的类型之间的归附关系。
每个Activity都有taskAffinity属性,这个属性指出了它希望进入的Task。如果一个Activity没有显式的指明该 Activity的taskAffinity,那么它的这个属性就等于Application指明的taskAffinity,如果 Application也没有指明,那么该taskAffinity的值就等于包名。而Task也有自己的affinity属性,