2

アクティビティの onCreate() からスーパー クラスの onCreate() メソッドを呼び出す必要があるのはなぜですか? すべてのライフサイクル メソッドからスーパー クラス メソッドを呼び出す理由は何ですか? 明確にしていただけますか?

4

1 に答える 1

3

ソースを見ると、各メソッドが何をするかがわかります。たとえば、ここで Activity.onCreate で何が起こるかを確認できます(行 #879):

    if (DEBUG_LIFECYCLE) Slog.v(TAG, "onCreate " + this + ": " + savedInstanceState);
    if (mLastNonConfigurationInstances != null) {
        mAllLoaderManagers = mLastNonConfigurationInstances.loaders;
    }
    if (mActivityInfo.parentActivityName != null) {
        if (mActionBar == null) {
            mEnableDefaultActionBarUp = true;
        } else {
            mActionBar.setDefaultDisplayHomeAsUpEnabled(true);
        }
    }
    if (savedInstanceState != null) {
        Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG);
        mFragments.restoreAllState(p, mLastNonConfigurationInstances != null
                ? mLastNonConfigurationInstances.fragments : null);
    }
    mFragments.dispatchCreate();
    getApplication().dispatchActivityCreated(this, savedInstanceState);
    mCalled = true;
于 2013-05-07T10:36:11.123 に答える