我有一个Activity,它将一个对象分配给Activity的onCreate()中的一个字段,并在onDestroy()中访问该对象。该字段未在其他任何地方分配。
我的问题是我有2个崩溃报告,表明onDestroy中的字段为空。我能想到的唯一选择是:
这是一个减少的例子。
public sealed class MainActivity : Activity{
private _disposable;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
_disposable = new Disposable();
}
protected override void OnDestroy()
{
// NRE exception here ( _disposable is null )
if(_disposable.Guard())
{
...
}
base.OnDestroy();
}
}
忽略这是一个Xamarin Android应用程序的事实,我真的想知道A)案例是否可能?我应该完全排除它并假设bug在其他地方或者是否可以在onCreate()之前调用onDestroy()并且我应该防范它。