1

我刚开始编写我的第一个 android 应用程序,并对其内存管理有疑问。

在我的应用程序中,我只有一个 Main Activity,有两个成员变量 -

private ArrayList<String> textList
private int textSize;

应用程序不断将项目添加到 textList 和 textSize 跟踪项目(我知道 textList.size())

在不关闭应用程序(按主页按钮)的情况下返回主屏幕以使手机长时间处于空闲状态会导致

textList.size() = 0 and textSize = previous stored value.

我试图了解在 textList 和 textSize 中失去价值的原因,以保持其价值。

4

1 回答 1

1

当应用程序不在前台时,Android 可能会关闭它...调用 onDestroy()。我想虽然由于某些状态正在被保存,那么 Activity 本身并没有被重新分配,但是您可能正在重新初始化 Activity 生命周期函数中的 textList,例如 onResume()。

请参阅活动页面上的“活动生命周期”(来自 developer.android.com)

Android 有时也可以释放和重新分配您的活动 - 因此当您不在前台时,您不能依赖成员变量来保留您的状态。如果要保存状态,请参阅 Activity android 文档中的“保存持久状态”和“onSaveInstanceState()”。

于 2013-10-10T23:32:55.930 回答