它是关于 void onSaveInstanceState(Bundle saved) 和一个基本的 java 概念。
在调用此方法之前必须创建一个 Bundle 对象,然后将其传递给此方法。假设它是这样创建和传递的:
Bundle savedInstanceState= new Bundle();
onSaveInstanceState(savedInstanceState);
此方法将数据保存在该捆绑包中。但它不会返回那个包(它已经添加了名称-值对)。
public void onSaveInstanceState(Bundle saved){
. . . //data added to the bundle named saved
}
因此,被声明为参数变量的已保存包仅在方法中具有范围。在方法内部添加到 save 的数据不会添加到 savedInstanceState。该方法也没有返回任何东西。
那么,当它不更改自身外部的任何包并且也不返回任何内容时,此方法的意义是什么?
我们还说传递给 onCreate 的包携带了之前保存的活动冻结状态。似乎这个包来自 onSavedInstanceState() 中的处理,但该方法不返回任何内容,也不会更改传递给它的包的值,在它自身之外。我很困惑。
如果有人可以帮助我理解这个概念,我将不胜感激。是的,我已阅读 Activity API 中给出的参考。