如何释放或清除变量或对象的值?

时间:2011-07-16 07:48:54

标签: java android

我有一个应用程序,其中我使用了一些变量,我想在使用它们或关闭应用程序后释放或释放它们使用的内存空间。有没有这样做的过程?

我用过:

int x = Integer.parseInt(edt.getText().toString()) * Integer.parseInt(edt1.getText().toString());
String z = String.valueOf(x);

edt - 代表我用于输入值的EditText。

将值输入EditText后,每当我切换到下一个活动页面然后返回上一页时,EditText的值仍然可用。但我想清除变量的值。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

我在这里回答了一个几乎相似的问题:Android proper clean up/disposing

基本上你需要做的是将对象设置为null,以便垃圾收集器在运行时可以清除它。

答案 1 :(得分:0)

正如您在新活动开始时Activity lifecycle graph上看到的那样,旧活动仅暂停,所有值都会保留。

如果系统其余部分没有立即需要内存,则不会被破坏。

我假设edt位于通过findViewById进行的布局中,而不是手工创建(代码中不明显)。因此,如果您想在切换回旧活动时清除 EditText 的值,则需要在onPauseonResume中手动执行此操作。

在应用程序关闭时,这些将由Java VM发布。请注意,离开上一个活动后,您的应用可能不会立即被杀死。