【发布时间】:2015-10-03 16:25:33
【问题描述】:
我看到人们不建议在 Android 中使用 System.exit(0)(不是 java)来关闭各种论坛上的应用程序,包括 SO here
-- 系统知道在您的进程中运行的另一个组件。在这种情况下调用 exit() 将终止进程, 杀死您的其他组件并可能损坏您的数据。这 当然,操作系统可能不太关心,但您的用户可能不喜欢它。 :-)
和here。
但是在任何地方都没有详细解释使用它可能会产生什么影响。
我正在寻找一个详细的解释,可能有官方参考(不幸的是我没能找到)
【问题讨论】:
-
我认为第一个答案回答了所有问题。
-
尝试阅读这篇文章以及stackoverflow.com/questions/16480867/…。
-
“官方参考”来自 Android 工程师的 cmets,例如 Dianne Hackborn:“如果应用程序已将其 Activity 堆栈置于不良状态并在后台执行此操作,则堆栈仍在“ (来自this Google Groups post)。
-
另外:“要明确一点:强烈建议不要使用 System.exit(),这可能会导致与系统的交互不佳。请不要将您的应用设计为需要它”(来自 @ 987654325@).
-
并非我们作为开发人员在 Android 中需要担心的所有事情都已正式记录在案。许多项目都是从与 Google 工程师面对面或在线(Google Groups、G+、Stack Overflow 等)的讨论中挑选出来的。就我而言,Dianne Hackborn 的声明具有文件的重要性,除非其他谷歌员工发表了反补贴声明。你可能会觉得这还不够,这是你的决定,但如果是这样的话,你会发现 Android 非常令人沮丧。
标签: android