当活动停止时,Android是否清理活动的成员变量

L. *_*ter 5 android android-activity

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

这在大多数手机上都可以正常工作,但是由于该成员已经null在他们的手机上了,所以我也从用户那里崩溃了。这个成员只包含一些String和一个POJO

Android是否清理Activity的成员变量以释放内存?

cra*_*aya 5

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

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