android - 当Activity停止时Android是否清理Activity的成员变量

标签 android android-activity

我有一个Activity,我在onCreate() 中初始化了一个类成员变量。在某些情况下,我需要 startActivity() 这意味着此 Activity 变成停止状态。当我回来时,我需要使用变量。

这在大多数手机上工作正常,但我的用户也遇到了一些崩溃,因为成员在他们的手机上变为 null。该成员仅包含一些 String 和一个 POJO

Android是否会通过清理Activity的成员变量来释放内存?

最佳答案

如果 onDestroy 被调用,那些成员变量将被清除,即使 Activity 没有完成。您可以通过在开发者设置中打开“不要让 Activity 保持 Activity 状态”来模拟这一点。一旦启用,开始你的 Activity 然后暂停它(即点击主页按钮)

要解决这个问题,您需要将这些成员变量存储在 onSaveInstanceState 中,然后使用 onCreate 中的 savedState 包恢复它们

关于android - 当Activity停止时Android是否清理Activity的成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36179634/

相关文章:

android - 单击后退按钮时出现 java.io.NotSerializableException

android - 如何在 facebook SDK 3.0 Android 中获取用户的 facebook 个人资料图片

android - HistoryRecord 的 Activity 空闲超时?

android - 帮助传递 ArrayList 和 parcelable Activity

android - fragment与activity之间的通信

java - 在 Android 中关闭警报对话框后,如何在 Activity 调用上刷新 TextView?

android - 如何使用 Android 加速度计检测

android - AsyncTasks 需要几秒钟才能启动

android - 布局描述中 "$"字符连接两个组件是什么意思?

java - 整个ArrayList包含相同的数据