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被杀死,您会发现所有状态都丢失了。因此,我认为所有状态都保存在内存中,而不是像首选项那样的文件中。