Android 应用程序关闭后保留值的变量

Android 应用程序关闭后保留值的变量,android,variables,memory,default,reset,Android,Variables,Memory,Default,Reset,我的应用程序在关闭时会保留所有变量值,这会影响它在重新打开时的运行方式。有没有办法在应用程序关闭时将它们全部重置?或者可以说,当应用程序关闭时,有没有办法从内存中清除它?目前,我刚刚在最后几行执行中设置了所有重要变量“=0”,但我知道必须有一种正确的方法来实现这一点 编辑: 好的,我想在这里回复会比单独回复每个人更容易 我向高级任务杀手咨询,该应用程序确实在后台保持活跃。我如何通过按下后退按钮使ap“死亡”?考虑到应用程序的工作方式,我认为这将是最简单的解决方案: 打开应用程序>按开始按钮>按停

我的应用程序在关闭时会保留所有变量值,这会影响它在重新打开时的运行方式。有没有办法在应用程序关闭时将它们全部重置?或者可以说,当应用程序关闭时,有没有办法从内存中清除它?目前,我刚刚在最后几行执行中设置了所有重要变量“=0”,但我知道必须有一种正确的方法来实现这一点

编辑:

好的,我想在这里回复会比单独回复每个人更容易

我向高级任务杀手咨询,该应用程序确实在后台保持活跃。我如何通过按下后退按钮使ap“死亡”?考虑到应用程序的工作方式,我认为这将是最简单的解决方案:

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


因此,每次应用程序运行时基本上都应该是独立执行。

未初始化的变量是不好的。不要这样做。首次使用变量之前,请务必手动重置变量。

您的应用程序可能未关闭,但仍处于后台。检查高级任务管理器,查看应用程序是否正在运行。

覆盖onPause、onResume和onDestroy方法。onPause应在暂停时保存任何内容,onResume应在恢复时重新加载这些值,并且当应用程序关闭时将调用onDestroy。你可以在onDestroy里清理东西。请参阅链接。

onResume()方法允许您在程序恢复时重置变量,但在您返回活动时也会重置变量,除非您在应用程序(而不是主页)中添加表示您来自的逻辑。也许onRestart()是您真正需要的?我不是很肯定,但可以使用onResume。

你需要熟悉一下

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

更新:


每次应用程序移动到后台时,都会将整个应用程序杀死,这是一种反模式。您应该仔细查看您的应用程序,遵循前面提到的活动生命周期模式,并采取必要的步骤确保您的变量根据状态按您的意愿存在。

我喜欢@Alex和@Jack所说的。此外,如果您想强制它关闭并返回到最后一个活动,那么也可以考虑在<代码>活动< /代码>中调用<代码> FixSee()/代码>。同时,也要考虑使用<代码> SETREST(INT)()

当您调用所询问的
活动时,您还可以在
意图上设置一个标志。类似于标记“活动”或“无历史记录”的标记可能会有所帮助:

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


我不认为他对未初始化的变量有任何问题。我不知道如何以任何其他方式读取OP:他关闭应用程序,当他重新打开时,他的变量的值与关闭时的值相同。发生的情况可能是,应用程序只是放在后台,而不是关闭,但问题的根源是OP想要重新启动程序。这意味着,在一个正常的执行路径中,所有变量都应该重新初始化,但事实并非如此。因此,他在使用变量之前并没有初始化变量。看看主要的问题:有没有办法在应用程序关闭时重置所有变量?--最后,他说他正在将所有变量设置回零,这意味着他要么希望活动
finish()
,要么不熟悉
onPause()
onResume()
。未初始化的变量通常会导致诸如意外输出或抛出异常之类的问题,这两个问题都没有提到。