Service的生命週期

2021-07-04 01:16:40 字數 1003 閱讀 7430

如圖當繫結service和所有客戶端解除繫結之後,android系統將會銷毀它,(除非它同時被

方法開啟)。

service的兩種啟動方式

1.context.startservice()方式啟動

①context.startservice()方式的生命週期: 啟動時,startservice –> oncreate() –> onstart()停止時,stopservice –> ondestroy()如果呼叫者直接退出而沒有停止service,則service 會一直在後台執行 context.startservice()方法啟動服務,在服務未被建立時,系統會先呼叫服務的oncreate()方法,接著呼叫onstart()方法。如果呼叫startservice()方法前服務已經被建立,多次呼叫startservice()方法並不會導致多次建立服務,但會導致多次呼叫onstart()方法。採用startservice()方法啟動的服務,只能呼叫context.stopservice()方法結束服務,服務結束時會呼叫ondestroy()方法附**

2.context.bindservice()方式啟動:①context.bindservice()方式的生命週期: 繫結時,bindservice -> oncreate() –> onbind()呼叫者退出了,即解繫結時,srevice就會unbindservice –>onunbind() –> ondestory()context.bindservice()方式啟動 service的方法:繫結service需要三個引數:bindservice(intent, conn, service.bind_auto_create);第乙個:intent物件第二個:serviceconnection物件,建立該物件要實現它的onserviceconnected()和 onservicedisconnected()來判斷連線成功或者是斷開連線第三個:如何建立service,一般指定繫結的時候自動建立附**

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 如果...