在退出之前存储持久应用数据的正确位置是什么?

时间:2011-04-05 18:12:31

标签: android

我有一个Activity应用程序,其中包含一个数据容器,该容器在从JSON格式的私有文本文件启动时填充。退出应用程序时,无论是正常退出还是强制退出,都必须将数据写回文本文件。

Android文档states,不应将应用程序数据保存在onDestroy方法中。

我现在已经覆盖了以下方法,以确保数据存储在exit:

protected void onStop() {
    persistenceManager.storeIfChanged();
    super.onStop();
}

protected void onPause() {
    persistenceManager.storeIfChanged();
    super.onPause();
}

storeIfChanged方法将应用程序数据写入文本文件(如果自上次保存以来已更改)。 我的问题是,这是否保证应用程序数据的保存无论应用程序如何终止(除非是不可抗力)。 其次,在onStop和onPause中进行保存是多余的吗?

1 个答案:

答案 0 :(得分:3)

是的,建议以onPause保存数据。除非强制关闭应用程序,否则将始终保存数据。

onPause中调用它就足够了,onPause始终在onStop之前调用。