Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Activity狀態的保存與恢復

Activity狀態的保存與恢復

編輯:關於Android編程

一、臨時性數據

首先說明一下一般控件的狀態是不需要你寫代碼去保存的,因為Android框架中幾乎所有UI控件都實現了onSaveInstanceState方法, 因此當Activity銷毀和重建時, 這些UI控件會自動保存和恢復狀態數據。當然你也不能什麼都不做,你需要為這些控件指定一個id,剩下的事情框架會自己去做,如果你不指定id,那麼控件的狀態數據是不會自動保存和恢復的。

下面來詳細說明一下onSaveInstanceState和onRestoreInstanceState這兩個方法。

onSaveInstanceState調用的原則是系統有未經你的許可銷毀Activity的可能。那麼onSaveInstanceState有下面幾種情況會調用:


1、按下HOME鍵(onPause-->onStop-->onStart-->onResume)  

2、長按HOME鍵切換到了其他APP(onPause-->onStop-->onStart-->onResume)  

3、橫豎屏切換(onPause-->onStop-->onDestroy-->onCreate-->onStart-->onResume)  

4、Activity的導航(onPause-->onStop-->onStart-->onResume)  

5、鎖定屏幕(鎖定:onPause-->onStop,喚醒:onStart-->onResume)

onRestoreInstanceState被調用的原則是Activity被銷毀了,而不是可能被銷毀了。

二、持久性數據

在onResume和onPause方法中做,可以把數據保存在數據庫或者SharedPreference中。然而在生命周期函數中不適合做耗時的操作,讀者如果有好的方法保存較大的數據,歡迎評論。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved