Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> onSaveInstanceState和onRestoreInstanceState的用處

onSaveInstanceState和onRestoreInstanceState的用處

編輯:初級開發

很多不明白Activity類中包含的onSaveInstanceState和onRestoreInstanceState有什麼用,首先android123聲明下使用這兩個方法時一定要注意情況和了解Activity的生命周期,否則有的時候  onSaveInstanceState和onRestoreInstanceState 可能不會被觸發,雖然他們都是Activity的重寫方法。

  他們比較常用到的地方是 Sensor、Land和Port布局的自動切換,過去Android開發網曾經說過解決橫屏和豎屏切換帶來的數據被置空或者說onCreate被重復調用問題,其實android提供的onSaveInstanceState方法可以保存當前的窗口狀態在即將布局切換前或當前Activity被推入歷史棧,其實布局切換也調用過onPause所以被推入Activity的history stack,如果我們的Activity在後台沒有因為運行內存吃緊被清理,則切換回時會觸發onRestoreInstanceState方法。

 這兩個方法中參數均為Bundle,可以存放類似 SharedPreferences 的數據,所以使用它們作為當前窗口的狀態保存是比較合適的。實際使用代碼

@Override
  protected void onSaveInstanceState(Bundle outState){
             outState.putString("lastPath", "/sdcard/android123/cwj/test");
   }


@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);

String cwJString = savedInstanceState.getString("lastPath");
}

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