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