public void onSaveInstanceState(Bundle outState)
{
    super.onSaveInstanceState(outState);
    outState.putInt("x", x);
}


保存捆绑包时,捆绑包变量的确切位置在哪里?我在任何地方都找不到

最佳答案

除了android reference,您还可以阅读源代码以了解此处发生的情况。

protected void onSaveInstanceState(Bundle outState) {
        outState.putBundle(WINDOW_HIERARCHY_TAG, mWindow.saveHierarchyState());
        Parcelable p = mFragments.saveAllState();
        if (p != null) {
            outState.putParcelable(FRAGMENTS_TAG, p);
        }
        getApplication().dispatchActivitySaveInstanceState(this, outState);
    }


在源代码中,很明显可以看到状态将由Application管理。当活动被销毁时,应用程序可以帮助保存相关状态。但是,如果遇到这种情况,即Application被杀死,您会发现所有状态都丢失了。因此,我认为所有状态都保存在内存中,而不是像首选项那样的文件中。

10-05 22:20