我想在应用程序关闭时保存一些小的数据结构(总共约1kB)以及用户的偏好。这些设置仅在我的PreferenceActivity中进行了修改,但数据结构几乎在每个活动中都进行了修改。我扩展了Application
并使所有数据结构和首选项静态化。然后我尝试在我的应用程序类onTerminate()
中保存到SharedPreferences中,然后在onCreate()
中再次加载它。但是,onTerminate()
的documentation指出:“它永远不会在生产型Android设备上调用,其中的进程通过简单地将其删除而被删除”。何时保存SharedPreferences?
this question的答案建议在每个活动的onStop()
方法中将SharedPreferences保存为修改其数据的方法。这将保证数据保存在全部个案中?有没有一种方法可以避免每次用户在活动之间转换时的浪费(或者我应该关心)?
你不能简单地在你的'Application'类中做一个方法来完成所有的sharedPrefs保存,然后当你需要时从'Activity'调用它吗? – mango
是的,我可以创建一个静态方法,但我应该在活动生命周期内将其称为它? –
好吧,你说的“当你的应用程序关闭”,所以我想在'onDestroy'中可以看到用户将看到的最后一个'Activity'。或者可能是其中一个“你确定要离开吗?” 'Dialogs'。 – mango