我有一个单独的 Activity
应用程序,它有一个数据容器,该容器在应用程序启动时从一个 JSON 格式的私有(private)文本文件中填充。退出应用程序时,无论是正常退出还是强制退出,都必须将数据写回文本文件。
Android 文档 states应用程序数据不应保存在 onDestroy 方法中。
我现在已经覆盖了以下方法以确保数据在退出时存储:
protected void onStop() {
persistenceManager.storeIfChanged();
super.onStop();
}
protected void onPause() {
persistenceManager.storeIfChanged();
super.onPause();
}
storeIfChanged
方法将应用程序数据写入文本文件(如果它自上次保存以来发生了更改)。 我的问题是,这是否保证无论应用程序如何终止(除非是不可抗力),应用程序数据都会被保存。 其次,onStop 和onPause 都做saving 是多余的吗?
最佳答案
是的,在onPause
中保存数据是推荐的方式。除非强制关闭应用程序,否则数据将始终被保存。
在onPause
中调用即可,onPause
总是在onStop
之前调用。
关于android - 退出前存储持久应用程序数据的正确位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5556450/