Android/活動的生命周期

維基教科書,自由的教學讀本

綜述[編輯]

隨着用戶在設備上打開,離開,返回,關閉應用軟件(App),應用中的活動實例(Activity instance)在整個生命周期(Lifecycle)中切換不同的狀態。

實例[編輯]

當您初次啟動應用程序,活動會實例化,來到系統前端被您所看到,並捕捉用戶焦點(User focus)。在這個過程中,Android操作系統調用此活動中的一系列生命周期方法。這些生命周期方法設置了用戶界面(User Interface)和其他組件。

如果用戶執行了一個操作,啟動了另一個應用,或者切換到另一個正在運行的應用,使當前活動被轉移到後台變得不可見,系統會調用另一套生命周期方法。活動雖然變為不可見狀態,但依舊保持完整。

階段[編輯]

Android活動的基本生命周期(basic lifecycle)
  • 創建(Created)
  • 啟動(Started)
  • 暫停(Paused)
  • 恢復(Resumed)
  • 停止(Stopped)
  • 重啟(Restarted)
  • 銷毀(Destroyed)
  • 重建(Recreated)

意義[編輯]

生命周期的回調方法以內,您可以聲明在用戶離開、返回活動時活動如何行為。

例如,如果您正在構建一個流媒體視頻播放器,當用戶切換到其他應用的時候,可能要暫停視頻且斷開它的網絡連接節約流量。當用戶返回時,應用將重新連接到網絡,使用戶從同一斷點繼續觀看。這樣在用戶使用其他應用的時候就不會耗費網絡流量/頻寬和CPU資源。

在這一節當中,我們將介紹重要的生命周期回調方法。這些方法是所有活動實例共同具有的。還會介紹如何使用它們,以達到相應目的:您的應用如何執行用戶期望的行為,如何避免耗盡系統資源等。

開始/創建[編輯]

與傳統的C,C++,Java程序不同的是,Android不需要從main()方法開始運行。Android系統通過特殊的回調方法初始化活動實例的代碼,這些回調方法對應其生命周期的具體階段。有一系列方法用來啟動活動,也有一系列方法銷毀活動。這些方法就是Android應用的入口和出口,而不是一個main()方法。

您將要運用的第一個生命周期階段就是開始/創建一個活動實例。

暫停和恢復[編輯]

停止和重啟[編輯]

銷毀和重建[編輯]