何时保存Android应用程序级数据(不是活动数据)

问题描述:

我的Android应用程序将潜在的大量数据存储在内存中,它最初从数据库中读取。将数据从数据库读入内存需要一段时间,我想在程序运行之间将这些数据序列化并缓存到文件中,这样我就不必每次都从数据库中读取数据,希望能够加快速度应用程序启动消除数据库开销。何时保存Android应用程序级数据(不是活动数据)

此数据存储在我的应用程序类的成员中,而不是存储在我的主要活动中。如果我理解正确,当我的主要活动被破坏并重新创建(例如屏幕旋转)时,Application类可能会持续存在。这很好。但是,我需要知道应用程序本身何时即将销毁(并且因此我将丢失存储在Application类中的数据),以便在发生此情况之前将其缓存到文件中。

我不想使用我的主要活动的onSaveInstanceState,因为这会导致缓存发生的次数超过必要(我不想这样做,因为它可能是一个有点贵的操作)。

是否有我可以覆盖来处理这个应用程序类的方法?

如果没有,有没有其他方法可以做到这一点?

将数据保存在内存中并使用它来获得最大响应。 更新UI并将数据保存在数据库中。如果在保存新数据时发生错误通知用户界面。 这样,您不必担心应用程序实例被销毁的时间。

+0

正如我在我的问题中所述,我已经将数据保存在内存中,并且我已经将它存储在数据库中。我想也许你错过了我所问的问题。 – JoeMjr2