Service的生命週期

2021-07-26 14:37:37 字數 959 閱讀 8714

一種方式:

被開啟的service通過其他元件呼叫

startservice()

被建立。

這種service可以無限地執行下去,必須呼叫

stopself()

方法或者其他元件呼叫

stopservice()

方法來停止它。

當service被停止時,系統會銷毀它。

另外一種:

被繫結的service是當其他元件(乙個

activity

)呼叫bindservice()

來建立的。

activity可以通過乙個

ibinder

介面和service

進行通訊。

activity可以通過

unbindservice()

方法來關閉這種連線。

乙個service可以同時和多個

activity

繫結,當多個

activity

都解除繫結之後,系統會銷毀

service。

簡單描述一下service的生命週期方法

從以上圖示可以發現:service的生命週期可以分為三個狀態:

一:初始狀態

service在

oncreate()

中進行它的初始化工作

oncreate()

二:活動狀態

從onstartcommand() 或

onbind()

被呼叫開始,它們各自處理由

startservice()

或 bindservice()

方法傳過來的

intent物件

三:銷毀狀態

在ondestroy()中釋放殘留的資源

service生命週期

service 生命週期 注意 onstart方法是在android2.0之前的平台使用的.在2.0及其之後,則需重寫onstartcommand方法,同時,舊的onstart方法則不會再被呼叫.1 可以通過呼叫 context.startservice 啟動乙個 service 這可能會觸發 se...

Service生命週期

1 通過startservice開啟服務 oncreate onstartcommand 2 通過stopservice關閉服務 ondestroy 說明 如果在未stopservice的情況下,再去startservice,只會onstartcommand 3 通過bindservice開啟服務 ...

Service生命週期

service生命週期 使用context.startservice 啟動service 其生命週期為context.startservice oncreate onstart service running context.stopservice ondestroy service stop 如果...