Android 進(jìn)階(1) - Activity 生命周期 上

各位新年快樂(lè)!偶然的機(jī)會(huì),我進(jìn)入了另外一種生活。2016年才開(kāi)始稍微認(rèn)真地更新一下文章,幸好一直有幾位朋友的支持。新的一年,新的開(kāi)始,新的嘗試,于是有了 Android 進(jìn)階系列。這是我學(xué)習(xí)《Android 開(kāi)發(fā)藝術(shù)探索》后整理的筆記,我會(huì)一邊學(xué)習(xí)一邊記錄。

Activity 的生命周期分為正常情況下的生命周期,以及異常情況下的生命周期,兩者略有不同。上篇是正常情況,下篇是異常情況。

Activity 生命周期(正常情況)

正常情況下,Activity 的常用生命周期只有圖中的7個(gè):onCreate、onStart、onResume、onRestart、onPause、onStop、onDestroy。

Activity 啟動(dòng)后,會(huì)調(diào)用 onCreate 創(chuàng)建 Activity ,然后調(diào)用 onStart 來(lái)準(zhǔn)備 Activity 的顯示,接著調(diào)用 onResume 把 Activity 顯示在前臺(tái)。這時(shí) Activity 處于運(yùn)行狀態(tài),下面稱其為原 Activity。如果原 Activity 運(yùn)行中有新的 Activity 啟動(dòng),原 Activity 會(huì)調(diào)用 onPause。onPause 執(zhí)行完后,新 Activity 才會(huì)調(diào)用 onResume。如果用戶按 HOME 鍵返回桌面或者啟動(dòng)一個(gè)新的 Activity,再返回原 Activity,就會(huì)調(diào)用 onRestart。

  • onCreate 和 onDestroy 是配對(duì)的,分別表示著 Activity 的創(chuàng)建和銷(xiāo)毀,只可能有一次調(diào)用。
    1.onCreate 表示 Activity 正在被創(chuàng)建,是 Activity 生命周期第一個(gè)回調(diào)方法。
    2.onDestroy 表示 Activity 即將被銷(xiāo)毀,是 Activity 生命周期最后一個(gè)回調(diào)方法。

  • onStart 和 onStop 是配對(duì)的,這兩個(gè)方法可能會(huì)被多次調(diào)用。
    1.onStart 表示 Activity 已經(jīng)在后臺(tái)準(zhǔn)備好顯示在前臺(tái),但還沒(méi)顯示在前臺(tái)。
    2.onStop 表示 Activity 即將停止。

  • onResume 和 onPause 是配對(duì)的,這兩個(gè)方法可能會(huì)被多次調(diào)用。
    1.onResume 表示 Activity 已經(jīng)顯示在前臺(tái)。
    2.onPause 表示 Activity 正在停止,Activity 為不可見(jiàn)狀態(tài),之后會(huì)調(diào)用 onStop。注意:onPause 執(zhí)行完后,新 Activity 的 onResume 才會(huì)執(zhí)行。

  • onStart 和 onResume 的差異。
    onStart 和 onResume 都表示 Activity 已經(jīng)顯示出來(lái),但 onStart 還沒(méi)顯示在前臺(tái),而 onResume 已經(jīng)顯示在前臺(tái)。

  • onPause 和 onStop 的差異。
    onPause 和 onStop 都表示 Activity 停止,但 onPause 在 Activity 進(jìn)入后臺(tái)并且并未被銷(xiāo)毀時(shí)調(diào)用,而 onStop 在 Activity 不再呈現(xiàn)給用戶時(shí)調(diào)用。調(diào)用 onStop 后,Activity 處于掛起狀態(tài),要么喚醒,要么銷(xiāo)毀。

筆者水平有限,請(qǐng)使勁評(píng)論。

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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