Android Activity生命週期中的7個階段

Android Activity生命週期中可認爲分爲7個階段;用7個函數原型來描述吧
protected void onCreate(Bundle savedInstanceState)
protected void onStart()
protected void onResume()
protected void onPause()
protected void onStop()
protected void onRestart()
protected void onDestroy()

activity主要生命週期的方法說明:
onCreate(Bundle savedInstanceState):創建activity時調用。設置在該方法中,還以Bundle的形式提供對以前儲存的任何狀態的訪問!
onStart():activity變爲在屏幕上對用戶可見時調用。
onResume():activity開始與用戶交互時調用(無論是啓動還是重新啓動一個活動,該方法總是被調用的)。
onPause():activity被暫停或收回cpu和其他資源時調用,該方法用於保存活動狀態的,也是保護現場,壓棧吧!
onStop():activity被停止並轉爲不可見階段及後續的生命週期事件時調用。
onRestart():重新啓動activity時調用。該活動仍在棧中,而不是啓動新的活動。
onDestroy():activity被完全從系統內存中移除時調用,該方法被調用可能是因爲有人直接調用onFinish()方法或者系統決定停止該活動以釋放資源!

public class MyActivity extends Activity {

     // 在Activity生命週期開始時被調用
    public void onCreate(Bundle icicle) {
    }

    // onCreate完成後被調用,用來回復UI狀態
    public void onRestoreInstanceState(Bundle savedInstanceState) {
    }


    //當activity從停止狀態重新啓動時調用
    public void onRestart(){
    }

    //當activity對用戶即將可見的時候調用。
    public void onStart(){
    }


     //當activity將要與用戶交互時調用此方法,此時activity在activity棧的棧頂,用戶輸入已經可以傳遞給它
    public void onResume(){
    }


    // Activity即將移出棧頂保留UI狀態時調用此方法
    public void onSaveInstanceState(Bundle savedInstanceState) {
    }


    //當系統要啓動一個其他的 activity時調用(其他的activity顯示之前),這個方法被用來提交那些持久數據的改變、停止動畫、和其他佔用 CPU資源的東西。由於下一個activity在這個方法返回之前不會resumed,所以實現這個方法時代碼執行要儘可能快。
    public void onPause(){
    }

    //當另外一個activity恢復並遮蓋住此activity,導致其對用戶不再可見時調用。一個新activity啓動、其它activity被切換至前景、當前activity被銷燬時都會發生這種場景。
    public void onStop(){
    }

    //在activity被銷燬前所調用的最後一個方法,當進程終止時會出現這種情況
    public void onDestroy(){
    }

發佈了12 篇原創文章 · 獲贊 19 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章