首页 文章

何时将应用程序设置提交到SharedPreferences(onStop或onDestroy)

提问于
浏览
7

我想知道,何时是将应用程序设置保存到SharedPreferences的合适时间 . 我们应该在 onStoponDestroy 期间这样做吗?我意识到这两种方法各有利弊 .

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 虽然应用程序被杀死但未被调用 . 因此,不保存应用程序设置 .

那么,在 onStoponDestroy 期间保存应用程序设置会更好吗?

2 回答

  • 15

    最好在进行更改后立即调用 commit() ,或者在 onPause() 方法中调用 commit() . 这可以确保您的更改几乎保存在所有方案中,但未捕获的应用程序崩溃异常除外 .

    此外,您应该注意,保证 onStop()onDestroy() 都不会被调用,特别是在Android内存不足的情况下 . 但是, onPause() 几乎总是被调用 .

  • 0

    我认为Android文档几乎解释了你应该如何评论或持久保存来自用户的任何数据:

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

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

相关问题