【发布时间】:2012-07-06 05:11:54
【问题描述】:
我注意到,当我使用返回按钮退出应用程序后,当我转到“管理应用程序”菜单时,我仍然有一个“强制停止”选项。应用程序此时不应该已经死了吗? (我确保 OnDestroy 确实运行)。 为什么我可以选择强制停止已正式死机的应用?
谢谢,
格瓦塔尔。
【问题讨论】:
我注意到,当我使用返回按钮退出应用程序后,当我转到“管理应用程序”菜单时,我仍然有一个“强制停止”选项。应用程序此时不应该已经死了吗? (我确保 OnDestroy 确实运行)。 为什么我可以选择强制停止已正式死机的应用?
谢谢,
格瓦塔尔。
【问题讨论】:
我注意到,当我使用返回按钮退出应用程序后,当我转到“管理应用程序”菜单时,我仍然有一个“强制停止”选项。应用程序此时不应该已经死了吗?
没有。
为什么我可以选择强制停止已正式死机的应用?
因为进程没有“死”。 Android 将保留您的流程一段时间,以防用户在不久的将来碰巧重新进入您的应用程序。当 Android 需要 RAM 来支持其他应用程序时,它会终止您的进程。
您看到的行为完全正常。
【讨论】:
使用 BACK 按钮完成 Activity,即“应用”的当前 UI 部分。
一个常见的错误是假设Activity 是整个“应用程序”,但不一定如此。正如 CommonsWare 所指出的,操作系统没有必要立即清理与 Activity 运行的进程相关的所有部分 - 事实上,如果用户短暂离开 Activity 但它可能是违反直觉的然后不久后再次访问它。
Android 在管理和释放资源方面实际上非常高效(如果其他“应用程序”需要)。在特定的 Activity 完成后保留/维护的内容不值得担心......或者至少 不应该如果开发人员正确清理了代码中的内容。 p>
“App Killer”应用文化的一部分与人们假设应用在Activity 完成时没有正确清理有关。如果写得正确,他们会这样做,而 Android 会在必要时/在必要时完成其余的工作。
【讨论】: