app关闭后保留值的变量

时间:2011-08-02 14:38:44

标签: android variables memory default reset

我的应用程序在关闭时保留所有变量值,这会影响重新打开时的运行方式。有什么办法可以在app关闭时重置它们吗?或者有没有办法在内存关闭时从内存中清理它可以这么说?目前我刚刚在最后几行执行中设置了所有重要变量“= 0”,但我知道必须有正确的方法来执行此操作。

编辑:

好的,我认为在这里回复而不是单独回复每个人都会更容易。

该应用确实在后台保持活力,我检查了高级任务杀手。如何通过按下后退按钮将ap设为“Die”?考虑到应用程序的运作方式,我认为这将是最简单的解决方案:

打开应用>按下开始按钮>按停止按钮>结果屏幕>按后退按钮退出。

所以基本上每次app运行都应该是一个独立的执行。

6 个答案:

答案 0 :(得分:2)

你的应用可能没有关闭但仍留在后台。检查高级任务管理器,看看应用程序是否正在运行。

答案 1 :(得分:2)

重写onPause,onResume和onDestroy方法。 onPause应该在暂停时保存任何内容,onResume应该在恢复时重新加载这些值,并在应用程序关闭时调用onDestroy。你可以清理onDestroy中的东西。请参阅this链接。

答案 2 :(得分:2)

您需要熟悉Activity Lifecycle

您可以利用onResume()重置变量;另请注意onDestory()onPause()

<强>更新

每次应用程序移动到后台时完全杀死应用程序都是反模式。您应该真正查看您的应用程序并遵循上述活动生命周期模式,并采取必要的步骤,以确保您的变量根据您所希望的状态存在。

答案 3 :(得分:1)

我喜欢@Alex和@Jack说的话。要添加,还要考虑如果要强制关闭并返回上一个活动,可以在finish()中调用Activity。与此同时,还要考虑使用setResult(int)JavaDoc Here

当您致电Intent时,您还可以在Activity上设置一个标记。像 FLAG_ACTIVITY_NO_HISTORY 这样的标志可能会有所帮助:

  

如果设置,则新活动不会保留在历史堆栈中。一旦用户离开它,活动就完成了。这也可以使用noHistory属性设置。

Intent Flags

列表

答案 4 :(得分:0)

未初始化的变量很糟糕。不要这样做。在第一次使用变量之前,请务必手动重置变量。

答案 5 :(得分:0)

onResume()方法将允许您在程序恢复时重置变量,但是当您返回活动时也会这样做,除非您在应用程序而不是主页中添加说明您来自的逻辑。也许onRestart()是你真正需要的?我不是肯定的,但是有可能使用onResume。

相关问题