1. onSaveInstanceState()
活动被系统回收前一定会调用onSaveInstanceState()方法,可以通过该方法,把要保存的数据以key-value的形式放入到Bundle类型的savedInstanceState中。
public void onSaveInstanceState(Bundle savedInstanceState){
super.onSaveInstanceState(savedInsanceState);
}
在活动的onCreate()方法中,也有个Bundle类型的参数,若活动被系统回收前,通过savedInstanceState()方法保存了数据,就可通过该参数获取保存的值。
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
2.Bundle
Bundle类是一个key-value对,“A mapping from String values to various Parcelable types.”
类继承关系:
java.lang.Object
android.os.Bundle
Bundle类是一个final类:
public final class Bundle extends BaseBundle implements Cloneable, Parcelable{}
使用Bundle在Activity之间传递数据,传递的数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。当Bundle传递的是对象或对象数组时,必须实现Serializable 或Parcelable接口。
参考:
https://blog.youkuaiyun.com/randyjiawenjie/article/details/6651437
https://www.cnblogs.com/Chenshuai7/p/5290891.html