我正在开发一个 android 应用程序,当用户进行市场更新时我需要保存数据。实际上在更新开始之前。我尝试使用 onDestroy() 但更新应用程序时不会调用它。你有什么想法?
问题是该应用程序定期保存数据。有时会发生这种情况,当您选择更新时,它会尝试在同一时间保存文件,导致数据损坏......这就是我试图检测更新事件的原因。
使用计划线程(例如 60 秒)以固定间隔保存文件。同样在文件中,我使用经典的 writeObject() 保存了一个序列化对象。这仅以 60 秒的固定速率发生,并且也在活动的 onPause 或服务的 onDestroy() 上发生。
但是,如果固定速率保存恰好在更新时发生(这会导致应用程序被破坏),则保存不完整并且对象会损坏,从而导致下次启动应用程序时从保存文件中获取无效对象。