Android NullPointerException-何时收集垃圾字段?

时间:2018-11-14 01:09:23

标签: android nullpointerexception garbage-collection activity-lifecycle

我在Android活动中有类似的内容:

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mPreferencesViewModel = new MainActivityPreferencesViewModel();

    mButton.setOnClickListener({ 
          mPreferencesViewModel.getSomething()
   })
}

NullPointerException行出现了很少报告的getSomething() 崩溃。因此,基本上mPreferencesViewModel为空。

要澄清一下:活动中没有代码可以将字段重置为空。

为什么会发生这种情况?如果活动被销毁,是否会重新创建该字段(因为应该再次调用onCreate)?

在什么情况下会发生这种情况?我正在尝试复制,但没有成功。

该字段何时变为空?在onStop()之后?

1 个答案:

答案 0 :(得分:0)

好的,所以问题是在某些情况下,我是从活动的onNewIntent()调用按钮的点击侦听器的,显然是在onCreate()之前调用的。