自作のアプリを実機へインストールしています。
端末の電源ボタンを押し休止モードから復帰したところ、例外が発生し落ちたのでこの問題を修正したいのですが、原因がわかりません。

以下のようなコードで、 onDestroy 中の myfieldnull であるという例外が発生していました。
(crashlyticsが拾ったスタックトレースを最後に添付しています。)


public class MyFragment extends Fragment {

    private MyClass myfield;

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {
...
        myfield = new MyClass();
...
        return view;
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        myfield.onDestroyView();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        myfield.onDestroy();
    }
}

myfieldへの代入はこの1箇所のみであり、onCreateViewが実行されたのであればnullになることはないはずだと考えております。
また、コードを変更しonCreateView内で例外が発生するようにしてみたところ、onDestroyは呼ばれないことも確認しました。
(追記)加えて、onDestroyView内でもmyfieldのメソッドを呼ぶ実装をしておりますが、ここでは例外が発生していません(そもそも呼ばれていない?)。

休止から復帰したタイミング、というところになにか通常には無いフローがあるような気もするのですが、 onCreateView が呼ばれずに onDestroy が呼ばれるような条件はあるのでしょうか。
また、ありえる場合、どのような記述で対応するのが一般的なのでしょうか。

java.lang.RuntimeException: Unable to destroy activity {my.app/my.app.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void my.app.MyClass.onDestroy()' on a null object reference
       at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3706)
       at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3724)
       at android.app.ActivityThread.access$1400(ActivityThread.java:151)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1357)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5254)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void my.app.MyClass.onDestroy()' on a null object reference
       at my.app.MyFragment.onDestroy(MyFragment.java:83)
       at android.support.v4.app.Fragment.performDestroy(Fragment.java:2006)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1076)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1108)
       at android.support.v4.app.FragmentManagerImpl.dispatchDestroy(FragmentManager.java:1954)
       at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:313)
       at android.support.v7.app.ActionBarActivity.onDestroy(ActionBarActivity.java:169)
       at my.app.MainActivity.onDestroy(MainActivity.java:97)
       at android.app.Activity.performDestroy(Activity.java:6169)
       at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1141)
       at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3693)
       at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3724)
       at android.app.ActivityThread.access$1400(ActivityThread.java:151)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1357)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5254)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)