我正在使用将对象存储在数据库中的服务构建应用程序。它会保留内存中的对象列表,直到有一定数量并将它们保存到数据库中。这意味着当服务停止时,内存中的对象将丢失。
要解决此问题,我会在调用服务的onDestroy()
方法时尝试在应用程序的共享首选项中保存对象列表,并在重新启动时恢复它们在onCreate()
。我设法能够从共享首选项中恢复列表,我遇到的问题是存储它。
即,当重新运行应用时,onCreate()
会在onDestory()
之前大约半秒钟被调用。这意味着服务会在存储列表之前尝试检索列表。
我是以正确的方式来做这件事的吗?或者是否有一种替代方法可以在服务停止和重新启动服务之间保持数据?
由于
答案 0 :(得分:0)
来自here: &#34;大多数Android应用都需要保存数据,即使只是为了在 onPause()期间保存有关应用状态的信息,这样用户的进度也不会丢失。&#34; < / p>
将存储逻辑移至 onPause()方法。