【问题标题】:Trying to Understand Android Tasks尝试理解 Android 任务
【发布时间】:2014-08-31 12:50:27
【问题描述】:

我正在尝试理解 android 任务。假设您从其启动图标启动一个活动 X,并从该活动从另一个应用程序启动一个新活动 Y。您有一个由活动 X 和 Y 组成的任务。现在假设您按下主页按钮并再次单击 X 的启动图标。 android 文档说,默认情况下,系统应该像以前一样显示任务,并在顶部显示 Y。

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

如果 X 是 GMail、Yahoo Mail 或 Google Drive,就会发生这种情况。

我的问题是是什么导致 Y 被甩出任务?是 X 做的事情还是 Y 做的事情?如果这是 X 所做的事情,作为 Y 的开发人员,您能做些什么来防范它并阻止您的活动被 android 系统遗忘?谢谢

【问题讨论】:

    标签: android android-activity android-task


    【解决方案1】:

    这是关于taskAffinity 的全部内容,请参阅here 以获取文档。为了更清楚,您可以阅读此答案https://stackoverflow.com/a/17873524/403255

    【讨论】:

    • 谢谢。您链接到的答案,尤其是幻灯片非常好。他们非常详细地解释了令人费解的复杂规则,用于决定一个意图是在与发送者相同的任务中还是在新的任务中启动新活动,以及它是否会创建一个新实例或通过 onNewIntent() 等路由. 但是,除非我遗漏了什么,否则他们只字未提为什么按下主页按钮然后单击启动图标通常会终止活动。确定从主屏幕单击启动图标应该只是将任务恢复到按下主屏幕之前的状态?
    • 你能详细解释一下clicking on a launch icon often kills an activity吗?
    • 我在这里更详细地解释了我遇到的问题。有赏金可用! stackoverflow.com/q/25518197/3973077
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多