Carson帶你學(xué)Android:3分鐘全面解析Activity生命周期


前言

  • 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生命周期對比

  • FragmentActivity的生命周期非常相似
  • 具體對比如下圖:


    與Fragment生命周期對比
示意圖

4. 總結(jié)

  • 本文對AndroidActivity生命周期進(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ā)的干貨,追求短、平、快,但卻不缺深度


請點(diǎn)贊!因?yàn)槟愕墓膭钍俏覍懽鞯淖畲髣恿Γ?/h1>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容