【问题标题】:How to release or clear the value of variable or object?如何释放或清除变量或对象的值?
【发布时间】:2011-10-06 15:57:51
【问题描述】:

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

我用过:

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

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

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

我怎样才能做到这一点?

【问题讨论】:

    标签: java android


    【解决方案1】:

    正如您在Activity lifecycle graph 上看到的那样,当启动新活动时,旧活动只是暂停并保留所有值。

    如果系统的其余部分没有立即需要内存,它不会被销毁。

    我假设edt 位于通过findViewById 获取的布局中,而不是手动创建的(从代码中看不出来)。因此,如果您想在切换回旧活动时清除该 EditText 的值,则需要在 onPauseonResume 中手动完成。

    在应用程序关闭时,这些将由 Java VM 释放。请记住,您的应用可能不会在您离开最后一个活动后立即被终止。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2015-05-12
        • 2016-10-18
        • 2017-01-07
        • 2010-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-04
        • 1970-01-01
        相关资源
        最近更新 更多