このActivity
クラスでは、Android はオーバーライドされたライフサイクル コールバック メソッドに対してsuper()
呼び出す必要があるランタイムの強制を提供します。忘れると、SuperNotCalledException がスローされます。
これは具体的にどのように Android に実装されたのでしょうか? 可能であれば、実際のソース実装を教えてください。
このActivity
クラスでは、Android はオーバーライドされたライフサイクル コールバック メソッドに対してsuper()
呼び出す必要があるランタイムの強制を提供します。忘れると、SuperNotCalledException がスローされます。
これは具体的にどのように Android に実装されたのでしょうか? 可能であれば、実際のソース実装を教えてください。
スーパーメソッドでフラグをクリアし、それが設定されていることを確認しているようです:
final void performStart() {
mCalled = false;
mInstrumentation.callActivityOnStart(this);
if (!mCalled) {
throw new SuperNotCalledException(
"Activity " + mComponent.toShortString() +
" did not call through to super.onStart()");
}
}