Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 生命周期,產品生命周期

生命周期,產品生命周期

編輯:關於android開發

生命周期,產品生命周期


■ 基本操作

啟動: oncreate onstart onresume

back: onPause onStop onDestroy

home: onPause onStop

home後的啟動(未銷毀): onRestart onStart onResume

已銷毀後的啟動:onCreate onStart  onresume

橫縱屏???: onSaveInstanceState  onPause onStop onDestroy onRestoreInstanceState onCreate onStart onResume

 

■ 物理切割 

可見階段: onStart onRestart onStop (可視的獲取與失去)  

前台階段: onResume onPause    (焦點的獲取與失去) 

其他階段: onCreate onDestroy

http://blog.chinaunix.net/uid-24410388-id-3855498.html

 

■ 過程詳解

   OnCreate(state)

        啟動時。被銷毀後再啟動時。

        交換到後台,一定時間內回到前台不會被銷毀。

        橫縱屏切換,默認是系統強制銷毀並重建

  OnSaveInstanceState

      系統未經你許可,並且可能或者說容易 被系統銷毀activity的場合,會調用該方法。系統的責任來提供機會讓你保存你的數據

      例: HOME   啟動其他activity 電源閉屏  橫縱屏切換

      如果我們沒有覆寫onSaveInstanceState()方法, 此方法的默認實現會自動保存activity中的某些狀態數據, 比如activity中各種UI控件的狀態.。android應用框架中定義的幾乎所有UI控件都恰當的實現了onSaveInstanceState()方法,因此當activity被摧毀和重建時, 這些UI控件會自動保存和恢復狀態數據. 比如EditText控件會自動保存和恢復輸入的數據,而CheckBox控件會自動保存和恢復選中狀態.開發者只需要為這些控件指定一個唯一的ID(通過設置android:id屬性即可), 剩余的事情就可以自動完成了.如果沒有為控件指定ID, 則這個控件就不會進行自動的數據保存和恢復操作

     ↑ 應該只適用於類似屏幕橫縱屏切換的這種自動重創動作。剛測試了一下,確實是這樣的,指定id則可以自動保存重建,否則不可以.

    有時候在onPause前調用,有時候在onPause後調用。

    OnSaveInstanceState在需要空出內存給當前activtiy的時候執行。

    onPause是不可見的時候被調用。

 

onRestoreInstanceState

      可能成為現實,的確被銷毀的場合才會被調用。與save非1v1模式。參數也會傳遞到oncreate(意味著先於oncreate),可由oncreate進行還原。

      經典例,編輯短信的時候打游戲應用了,或者來了電話,半個小時後短信activity已被銷毀。重建時候短信還原。

 

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