确实,当你的应用程序需要保存一些持久数据时,除了onPause()
方法之外,你应该总是在onStop()
方法中执行它,因为如果android OS杀死你的进程那么{{1永远不会调用和onStop()
方法?
答案 0 :(得分:2)
您应该在onPause
中保存所有关键数据,因为当您的活动失去焦点或用户退出应用时,始终会调用它。另一方面,仅在用户退出应用程序时调用onStop
,而在用户切换到其他活动时失去焦点(失去焦点)。此外,当您的活动在后台时,android将强制终止内存不足的应用程序进程,在这种情况下onStop
将不会被调用,onDestroy
被调用。因此,onPause
是运行持久性代码的地方,无需在onStop
答案 1 :(得分:0)
确实,当你的应用程序需要保存一些持久数据时,除了onStop()方法之外,你应该总是在onPause()方法中执行它
简短回答: TRUE,onPause()
比onStop()
更可靠。在不调用onStop()
和onDestroy()
的情况下杀死流程的可能性最高。
为什么?
活动生命周期图是此方案中的最佳帮助:
您可以清楚地看到调用方法的顺序。您可以看到最安全的选择是onPause()
,它提供了用户离开您的Activity的第一个指示,然后是onStop()
,表示应用已进入Stopped状态。最后是onDestroy()
方法。因此,最安全的做法是尽早选择onPause()
来保存持久数据。
FURTHERMORE: 表格中明确提供了活动状态和弹射之间的机会和相关性:Activity state and ejection from memory