前言
-
Android
開發(fā)中,會經(jīng)常接觸Activity
,所以深入了解Activity
生命周期非常重要 - 本文將深入講解
Activity
生命周期 的相關(guān)內(nèi)容
閱讀本文 需 3分鐘
目錄
示意圖
1. 生命周期流程 & 方法詳解
1.1 具體請看下圖
示意圖
1.2 注意點(diǎn)
a. 生命周期方法 = 成對出現(xiàn)(配對)
-
onCreate()
&onDestory()
-
onStart()
&onStop()
-
onResume()
&onPause()
b. onStart() & onStop()、onResume() & onPause() 除了回調(diào)時刻,在實(shí)際使用中無任何區(qū)別
-
onStart()
&onStop()
:從Activity
是否完全可見的角度 進(jìn)行回調(diào) -
onResume()
&onPause()
: 從Activity
是否位于前臺(UI最頂層)的角度進(jìn)行回調(diào); - 除了上述的區(qū)別,在實(shí)際使用中沒有任何區(qū)別
c. 當(dāng)前Activity為A,此時用戶打開ActivityB后,那么A的onPause()和B的onResume()哪個方法先執(zhí)行?
答:先 A的onPause()
,再B的onResume()
-
Activity
的啟動過程:由ActivityManagerService
(AMS)對棧內(nèi)的Activity
狀態(tài)進(jìn)行同步管理 & 規(guī)定:新Activity
啟動前,棧頂?shù)腁ctivity必須先onPause()
,才能啟動新的Activity
(執(zhí)行onResume()
)
注:為了讓新的
Activity
盡快切換到前臺,在onPause()
盡量不要做耗時 / 重量級操作
2. 常見場景的生命周期調(diào)用方式
示意圖
3. 與Fragment生命周期對比
-
Fragment
、Activity
的生命周期非常相似 -
具體對比如下圖:
與Fragment生命周期對比
示意圖
4. 總結(jié)
- 本文對
Android
的Activity
生命周期進(jìn)行了全面介紹 - Carson帶你學(xué)四大組件文章系列:
Carson帶你學(xué)Android:頁面活動-Activity
Carson帶你學(xué)Android:廣播-BroadcastReceiver
Carson帶你學(xué)Android:服務(wù)-Service
Carson帶你學(xué)Android:內(nèi)存承載器-ContentProvider
歡迎關(guān)注Carson_Ho的簡書
不定期分享關(guān)于安卓開發(fā)的干貨,追求短、平、快,但卻不缺深度。