10

我想知道,何时将我们的应用程序设置保存到 SharedPreferences 是合适的时间。我们应该在onStop或期间这样做onDestroy吗?我意识到这两种方法都有其优点和缺点。

停止

如果用户的意图不是退出应用程序,将应用程序设置保存到 SharedPreferences 似乎是多余的。他只需按主页(调用onStop)->长按主页->通过再次选择应用程序重新启动应用程序

销毁

用户可以通过按主页(调用onStop)->长按主页->在应用程序上向左滑动来终止应用程序来终止应用程序。如果用户以这种方式退出应用程序,我意识到虽然应用程序被杀死,但没有被调用。因此,不会保存应用程序设置。onDestroy

那么,在onStop或期间保存应用程序设置更好onDestroy吗?

4

2 回答 2

17

最好commit()在您进行更改后立即调用,或者在onPause()方法中调用。这可确保您的更改在几乎所有情况下都保存,除了导致您的应用程序崩溃的未捕获异常。

此外,您应该注意根本不会调用onStop()onDestroy()保证不会调用,尤其是在 Android 内存不足的情况下。但是,onPause()几乎总是被调用。

于 2013-02-07T17:06:01.803 回答
0

我认为 Android 文档几乎解释了您应该何时提交或保留来自用户的任何数据:

onPause() 是处理用户离开活动的地方。最重要的是,此时用户所做的任何更改都应提交(通常提交给持有数据的 ContentProvider)。

http://developer.android.com/reference/android/app/Activity.html

于 2013-02-07T17:08:28.183 回答