如何在Android应用程序退出之前进行一些清理?

时间:2011-10-28 02:16:45

标签: java android sharedpreferences android-activity

是否存在某种onTerminate()方法,当我的Android应用程序终止时,我可以进行一些清理(我想清除一些SharedPreferences)?

我有一个活动,它保持一些数字的运行平均值,我存储在SharedPreference中。我希望这个平均值在应用程序运行时持续(用户可以在不同的活动之间移动),因此我无法在onDestroy()上清除该特定活动。一旦应用程序即将退出,我需要能够清除它。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

我没试过这个,但这就是我要做的事情:

  • 正如Alex在原始问题的评论中提到的那样,使用ServiceActivities之间共享应用范围内的状态。
  • 每当您在Activities之间移动时,请从“新”活动绑定到服务,并从“旧”活动解除绑定。检查this以了解如何协调活动。
  • 如果您正确使用此功能,只要您的应用正在运行,您就可以确保至少有一个Activity始终绑定到Service;当应用程序不再运行时,所有活动都不受约束 - 此时将调用您的服务onDestroy()。这是您执行清理的地方。

答案 1 :(得分:0)

使用SharedPreference.Editor删除首选项,然后提交。以下是您的链接:http://developer.android.com/reference/android/content/SharedPreferences.Editor.html

答案 2 :(得分:0)

所以android并没有一个应用程序被“完成”的概念。不幸的是,“onTerminate()”没有任何同义词。是否有一些标准可以决定何时清除平均运行平均值?