Activity生命周期

活動(dòng)的生命周期

深入理解活動(dòng)的生命周期:你的優(yōu)勢(shì)

  1. 可以寫出更加連貫流暢的程序。
  2. 合理管理應(yīng)用資源
  3. 更好的用戶體驗(yàn)

具體關(guān)于activity的生命啟動(dòng)模式這里有介紹
Activity啟動(dòng)模式

現(xiàn)在做個(gè)補(bǔ)充:

每個(gè)活動(dòng)在其生命周期中最多可能會(huì)有4中狀態(tài)

  1. 運(yùn)行

    當(dāng)一個(gè)活動(dòng)位于返回棧的棧頂時(shí),這是活動(dòng)就處于運(yùn)行狀態(tài)。

  2. 暫停

    當(dāng)一個(gè)活動(dòng)不在處于棧頂,但是仍然可見(jiàn)時(shí),這時(shí)活動(dòng)就進(jìn)入了暫停狀態(tài)。因?yàn)椴⒉皇敲總€(gè)活動(dòng),都占滿整個(gè)屏幕。

    比如:對(duì)話框形式的活動(dòng)只會(huì)占用屏幕中間的部分區(qū)域。處于暫停狀態(tài)的活動(dòng)仍然是完全存活者的。

  3. 停止

    當(dāng)一個(gè)活動(dòng)不在處于棧頂,并且完全不可見(jiàn)的時(shí)候,就進(jìn)入了停止?fàn)顟B(tài)。

  4. 銷毀

    當(dāng)一個(gè)活動(dòng)從返回棧中一出后,就變成了銷毀狀態(tài)。

活動(dòng)的生存期

生命周期圖

Activity類中定義的七個(gè)回調(diào)方法,覆蓋了活動(dòng)生命周期的每一個(gè)環(huán)節(jié)

onCreate()。它會(huì)在活動(dòng)第一次被創(chuàng)建的時(shí)候調(diào)用,你應(yīng)該在這個(gè)方法中完成活動(dòng)的初始化操作,比如加載布局,綁定事件。

onStart()。這個(gè)方法在活動(dòng)由不可見(jiàn)變成可見(jiàn)時(shí)調(diào)用。

onResume()。這個(gè)方法在活動(dòng)準(zhǔn)備好和用戶進(jìn)行交互的時(shí)候調(diào)用。此時(shí)活動(dòng)一定位于棧頂,并且處于運(yùn)行狀態(tài)。

onPause()。這個(gè)方法在系統(tǒng)準(zhǔn)備去啟動(dòng)或者恢復(fù)另一個(gè)活動(dòng)的時(shí)候調(diào)用。我們通常會(huì)再這個(gè)方法中獎(jiǎng)一些消耗cpu的資源釋放掉,以及保存一些關(guān)鍵數(shù)據(jù),但這個(gè)方法的執(zhí)行速度一定要快,不然會(huì)影響到新的棧頂活動(dòng)的使用。

onStop()。這個(gè)方法在活動(dòng)完全不可見(jiàn)的時(shí)候調(diào)用。它和onPause方法的主要區(qū)別于,如果啟動(dòng)的活動(dòng)是是一個(gè)對(duì)話框式的活動(dòng),那么onPause方法會(huì)得到執(zhí)行,而onStop方法并不會(huì)執(zhí)行。

onDestroy()。這個(gè)方法在活動(dòng)被銷毀之前調(diào)用,之后活動(dòng)狀態(tài)變?yōu)殇N毀狀態(tài)。

onRestart()。這個(gè)方法在活動(dòng)由停止?fàn)顟B(tài)變?yōu)檫\(yùn)行狀態(tài)之前調(diào)用,也就是活動(dòng)被重新啟動(dòng)了。

以上7個(gè)方法,除了onRestart()方法,其他都是兩兩相對(duì)。從而活動(dòng)又可以分為3種生存周期。

  • 完整生存期

    • 活動(dòng)在onCreate()和onDestroy()方法之間經(jīng)歷的就是完整生存期。一般情況下,一個(gè)活動(dòng)會(huì)在onCreate方法中完成各種初始化操作。而在onDestroy中完成釋放內(nèi)存的操作。
  • 可見(jiàn)生存期

    • 活動(dòng)在onStart()和onStop()方法之間經(jīng)歷的就是可見(jiàn)生存期。
  • 前臺(tái)生存期

    • 活動(dòng)在onResume()和onPause()方法之間經(jīng)歷的就是前臺(tái)生存期。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容