我对,onStop
和onSaveInstanceState
中应该发生什么感到困惑。例如,Android的文档说 对于 -android-存储在onPause,onStop或onSaveInstanceState中的数据
提交未保存的更改,但前提是用户期望,当他们离开(如电子邮件草稿)将被永久保存这些变化。
对于onStop
-
你应该使用的onStop()来执行更大,更多的CPU关机操作,比如到数据库中写入信息。
对于onSaveInstanceState
您的活动可能有你想恢复,如跟踪用户在作业进展成员变量更多的状态信息。
这不是真的,这三件事基本上是指存储信息,如表单或电子邮件?那么应该保存哪种方法?
自从2016年1月开始,Honeycomb(3.0)占到Android设备的96.8%,因此''onStop()'保证会被调用。所以我更喜欢''onStop()'onPause()'来保存数据现在。 – 2016-01-06 09:11:44
@VickyChijwani从软件工程的角度来看,_preferring_'onStop()'over onPause()'是不可接受的,除非你明确地在你的应用程序的元数据中(你没有提到)_require_ Android 3.0。 – 2016-01-06 09:52:15
对,我确实为Android 3.0和更高版本制作了我的应用程序,应该提到这一点。我更喜欢onStop()的另一个原因是[onPause()'docs]中的这一行(http://developer.android.com/reference/android/app/Activity.html#onPause %28%29):“当活动B在活动A前面启动时,...... B将不会被创建,直到A的onPause()返回为止,所以一定不要在这里做任何冗长的事情。当然,整个生命周期文档仍然相当混乱,所以这不是确凿的。 – 2016-01-06 09:58:57