我想知道,何时是将应用程序设置保存到SharedPreferences的合适时间 . 我们应该在 onStop
或 onDestroy
期间这样做吗?我意识到这两种方法各有利弊 .
onStop
如果用户意图没有退出应用程序,则将应用程序设置保存到SharedPreferences似乎是多余的 . 他只是 press home (onStop叫) - > long press home - > relaunch application by select the application again
onDestroy
用户可以通过 press home (onStop调用) - > long press home - > swipe left on the application to kill it 来终止应用程序 . 如果用户通过这种方式退出应用程序,我意识到 onDestroy
虽然应用程序被杀死但未被调用 . 因此,不保存应用程序设置 .
那么,在 onStop
或 onDestroy
期间保存应用程序设置会更好吗?
2 回答
最好在进行更改后立即调用
commit()
,或者在onPause()
方法中调用commit()
. 这可以确保您的更改几乎保存在所有方案中,但未捕获的应用程序崩溃异常除外 .此外,您应该注意,保证
onStop()
或onDestroy()
都不会被调用,特别是在Android内存不足的情况下 . 但是,onPause()
几乎总是被调用 .我认为Android文档几乎解释了你应该如何评论或持久保存来自用户的任何数据:
http://developer.android.com/reference/android/app/Activity.html