Android的任务亲和解释Android的任务亲和解释(Android Task Affinity

2019-05-13 01:18发布

到底是什么属性taskAffinity用的呢? 我已经通过了文件 ,但我不明白了。

任何人都可以解释深入浅出方面任务的亲和力?

Answer 1:

Android是什么任务亲和用途?

Android应用程序有形成堆像一副扑克牌活动。 如果你开始一个Android应用程序,并启动五项活动A,B,C,d,E。 他们将形成一个堆栈

E   - chat view
D   - weather screen
C   - map view
B   - weather screen
A   - login screen

E的要启动的最后一项活动,它是显示。 如果您关闭E,d将被显示。 如果关闭d,C将被显示。 等等

请注意,活动BD是相同的活动。 如果用户要进行一些修改到D weather screen ,然后决定关闭活动,然后关闭C Map view

然后,用户将是回到了天气屏幕,因为在水平所做的更改用户会不高兴D weather screen未保存在一级B weather screen 。 虽然是同样的活动,这是该活动的不同状态。

用户有活动5层堆叠,并且其中的两个是相同的活性。 弹出所有5折的堆栈将创建在这里您将有两个不同版本的同一活动的进行交互,可以是相当混乱的现象。

用户通常不会想到在活动刚性堆栈方面。 他们认为:“哦,天气图,我会做出改变有”,然后他们要回去的地图视图。 因为他们要回到登录屏幕,然后再次备份。 为什么B weather app显示,为什么不把它保存从级别设置D

如果活动程序员也许能够减轻一些混乱BD状态有联系。 通过这种方式改变为一个人改变对方。 每个用户开辟了一个新的气象屏的时候,偷偷打开天气屏幕的单个实例。

在这种情况下,改变活动的taskAffinity可能是可取的。 用户将更改级别D.然后回升到B级,并查看B中分别以D.所做的更改

该程序保持一个堆栈,你可以备份通过,这是很好的,并且当用户打开了同一活动的X实例在随机的地方,他们都是一个。

幻灯片与更多的解释: http://www.slideshare.net/RanNachmany/manipulating-android-tasks-and-back-stack



Answer 2:

亲和力表示活动更喜欢哪个任务属于。

亲和进场在两种情况下:

当启动一个活动意图包含FLAG_ACTIVITY_NEW_TASK标志。

当一个活动都有其allowTaskReparenting属性设置为“真”。

请参阅http://developer.android.com/guide/components/tasks-and-back-stack.html



文章来源: Android Task Affinity Explanation