2014-08-31 47 views
0

我试图了解Android任务。假设你从启动图标开始一个活动X,并从该活动开始一个来自不同应用程序的新活动Y.您有一个由X和Y活动组成的任务。现在假设您按下主页按钮并再次单击X的启动图标。 Android文档说,默认情况下,系统应该像以前一样显示任务,Y在上面。试图了解Android任务

然而,通过在真实设备上进行一些实验,您会发现这不是发生在很多时间的事情。假设X是一个电子邮件应用程序,并且您在不同的应用程序Y中查看来自电子邮件的任何内容(例如在图库中打开照片,在Quickoffice中打开PDF文档,在Chrome中打开网页等),您会发现如果单击然后X的发射图标,你实际上再次看到X.有时,显示内容的活动会移动到不同的启动图标上,但就我所知,通常它完全被Android系统遗忘。

这就是如果X是GMail,Yahoo Mail或Google Drive的情况。

我的问题是什么导致Y被抛弃的任务?这是X做的事情还是Y做的事情?如果它是X所做的事情,那么作为Y的开发者,你有什么可以做的,以防止它被Android系统遗忘吗?谢谢

回答

0

这是关于taskAffinity所有关于here的文档。为了更清楚,你可以阅读这个答案https://stackoverflow.com/a/17873524/403255

+0

谢谢。你链接到的答案,特别是幻灯片放映非常好。他们非常详细地解释了用于决定一个意图是否将在与发送者相同的任务中启动新活动或新的活动,以及它是否会创建新实例或通过onNewIntent()等路由的复杂规则。但是除非我错过了一些东西,否则他们不会说为什么按下主页按钮然后点击发布图标经常会杀死一个活动。当然,单击主屏幕上的启动图标应该简单地将任务恢复到按住主界面之前的状态? – 2014-08-31 15:30:58

+0

你能否详细解释一下'点击发射图标经常杀死一个活动'? – 2014-09-01 03:31:41

+0

这里是我详细解释我遇到的问题的地方。有一个可用于此的赏金! http://stackoverflow.com/q/25518197/3973077 – 2014-09-01 06:55:34