是否可以在没有调用onCreate的情况下调用活动的onDestroy?

时间:2015-01-21 00:48:12

标签: android android-activity mono xamarin xamarin.android

我有一个Activity,它将一个对象分配给Activity的onCreate()中的一个字段,并在onDestroy()中访问该对象。该字段未在其他任何地方分配。

我的问题是我有2个崩溃报告,表明onDestroy中的字段为空。我能想到的唯一选择是:

  • A)在onCreate()或
  • 之前调用onDestroy()
  • B)这是某种Mono bug,onDestroy()实际上正在运行 .NET活动的另一个实例。

这是一个减少的例子。

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()并且我应该防范它。

0 个答案:

没有答案