我有一个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/