關於Android中的生命週期

2021-07-15 03:15:59 字數 1277 閱讀 9167

經典的生命週期流程圖如下:

具體流程如下:

1.啟動activity:系統會先呼叫oncreate方法,然後呼叫onstart方法,最後呼叫onresume,activity進入執行狀態。

2.當前activity被其他activity覆蓋其上或被鎖屏:系統會呼叫onpause方法,暫停當前activity的執行。

3.當前activity由被覆蓋狀態回到前台或解鎖屏:系統會呼叫onresume方法,再次進入執行狀態。

4.當前activity轉到新的activity介面或按home鍵回到主屏,自身退居後台:系統會先呼叫onpause方法,然後呼叫onstop方法,進入停滯狀態。

5.使用者後退回到此activity:系統會先呼叫onrestart方法,然後呼叫onstart方法,最後呼叫onresume方法,再次進入執行狀態。

6.當前activity處於被覆蓋狀態或者後台不可見狀態,即第2步和第4步,系統記憶體不足,殺死當前activity,而後使用者退回當前activity:再次呼叫oncreate方法、onstart方法、onresume方法,進入執行狀態。

7.使用者退出當前activity:系統先呼叫onpause方法,然後呼叫onstop方法,最後呼叫ondestory方法,結束當前activity。

關於service的生命週期:

乙個service 是一段長生命週期的,沒有使用者介面的程式,可以用來開發如監控類程式。

service使用步驟如下

1>繼承service類

服務不能自己執行,需要通過contex.startservice()或contex.bindservice()啟動服務

通過startservice()方法啟動的服務於呼叫者沒有關係,即使呼叫者關閉了,服務仍然執行想停止服務要呼叫context.stopservice(),此時系統會呼叫ondestory(),使用此方法啟動時,服務首次啟動系統先呼叫服務的oncreate()-->onstart(),如果服務已經啟動再次呼叫只會觸發onstart()方法

使用bindservice()啟動的服務與呼叫者繫結,只要呼叫者關閉服務就終止,使用此方法啟動時,服務首次啟動系統先呼叫服務的oncreate()-->onbind(),如果服務已經啟動再次呼叫不會再觸發這2個方法,呼叫者退出時系統會呼叫服務的onunbind()-->ondestory(),想主動解除繫結可使用contex.unbindservice(),系統依次呼叫onunbind()-->ondestory();

android生命週期

通用生命週期流程如下 正常啟動 oncreate onstart onpost oncreate onresume onpostresume 轉向下乙個activity onpause onstop 從下乙個activity返回當前 按機器返回鍵 onrestart onstart onresume...

android生命週期

oncreate 第一次進入此頁面或者從其他頁面跳轉到此頁面時呼叫此方法。從其他頁面按下返回鍵到達此頁面時不執行該方法。onstart 第一次進入此頁面或者從其他頁面跳轉到此頁面時呼叫此方法,在oncreate 後執行。如果從第二個頁面發揮到此頁面也執行此方法,是在onrestart 後執行。onr...

android生命週期

1 程式的正常啟動 oncreate onstart onresume 2 程式正常退出 onpause onstop ondestory 3 乙個activity啟動另乙個activity onpause onstop 再返回onrestart onstart onresume 4 程式按back...