我想知道,何时是将应用程序设置保存到SharedPreferences的合适时间。我们应该在onStop
或onDestroy
期间执行此操作吗?我意识到这两种方法都有其优点和缺点。
如果用户意图没有退出应用程序,将应用程序设置保存到SharedPreferences似乎是多余的。他只是按回家(onStop叫) - > 长按家 - > 再次选择应用程序重新启动应用程序
用户可以通过按home onDestroy
。因此,不会保存应用程序设置。
那么,在onStop
或onDestroy
期间保存应用程序设置是否更好?
答案 0 :(得分:15)
最好在进行更改后立即拨打commit()
,或使用onPause()
方法。这可以确保您的更改几乎保存在所有方案中,但未捕获的应用程序崩溃异常除外。
此外,您应该注意,保证onStop()
或onDestroy()
都不会被调用,特别是在Android内存不足的情况下。但是,onPause()
几乎总是被调用。
答案 1 :(得分:0)
我认为Android文档几乎解释了你应该如何评论或持久保存用户的任何数据:
onPause()是您处理离开活动的用户的地方。最 重要的是,此时用户所做的任何更改都应该是 已提交(通常是持有数据的ContentProvider)。
http://developer.android.com/reference/android/app/Activity.html