了解了活動的生命周期之后,關于活動被系統回收時,有時候一些臨時數據會消失,這時候會用到onSaveInstanceState()方法,
主要原理是:
在活動被回收之前,將臨時數據存在onSaveInstanceState()方法中的Bundle中,然后在活動創建時候,在oncreate()方法中再次從Bundle中取出來
具體:
首先,onSaveInstanceState()方法中,保存數據
@Overridepublic void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) { super.onSaveInstanceState(outState, outPersistentState); String saveData = "要保存的數據"; outState.putString("data",saveData);}其次,在oncreate()方法中取出數據:
@OverridePRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState != null){ String data = savedInstanceState.getString("data"); //data即為之前保存的數據 }}
新聞熱點
疑難解答