【发布时间】:2013-01-31 09:38:12
【问题描述】:
我正在开发一个安卓应用程序,当用户进行市场更新时我需要保存数据。实际上在更新开始之前。我尝试使用 onDestroy() 但更新应用程序时不会调用它。你有什么想法吗?
问题是应用程序会定期保存数据。有时会发生这种情况,当您选择更新时,它会尝试在同一时间保存文件,导致数据损坏......这就是我试图检测更新事件的原因。
使用计划线程(例如 60 秒)以固定间隔保存文件。同样在文件中,我使用经典的 writeObject() 保存了一个序列化对象。这仅以 60 秒的固定速率发生,并且在 Activity 的 onPause 或服务的 onDestroy() 上发生。
但是,如果固定速率保存恰好在更新时发生(这会导致应用程序被销毁),则保存不完整并且对象会损坏,从而导致下次启动应用程序时从保存文件中获取无效对象。
【问题讨论】:
-
我不明白你的问题。你的意思是当你的应用程序最小化时你需要保存数据?或者当用户将应用程序更新到较新版本时?
-
onDestroy 在没有使用 Activity 并且 Android 需要释放一些内存时调用。它与更新 android market 中的应用程序无关。
-
问题是应用程序定期保存数据。有时会发生这种情况,当您选择更新时,它会尝试在同一时间保存文件,导致数据损坏......这就是我试图检测更新事件的原因。