Service的生命週期與使用

2021-08-15 13:21:34 字數 757 閱讀 6382

oncreate() 和activity的oncreate()方法一樣,是第乙個被執行的生命週期方法,可以在這做一些初始化操作,並且只會被執行一次;哪怕會啟動多次服務或繫結多次服務。啟動和繫結狀態均會經歷該狀態 

onstartcommand() 呼叫startservice()啟動服務後,將會執行該方法。一旦執行此方法,服務即會啟動並可在後台無限期執行。如果實現此方法,則在服務工作完成後,需要通過呼叫stopself()或stopservice()來停止服務。(如果只想繫結服務,則無需實現該方法。)呼叫一次startservice,將會呼叫一次該方法。 

onbind() 呼叫bindservice()繫結服務後,將會執行該方法。在該方法的實現中,必須通過返回ibinder提供乙個飢餓哭,供客戶端用來與服務進行通訊。請務必實現此方法,但如果不希望允許繫結,則應返回null。(使用繫結服務時,一般是用於客戶端,如activity與service有互動的情況,那麼服務端返回的這個ibinder,客戶端就會得到乙個這樣的「遙控器」,可以通過該「遙控器」來控**務)。 

onunbind() 當所有繫結的客戶端解除繫結時,系統將會呼叫該方法。 

ondestory() 當服務不再使用且將被銷毀時,系統將呼叫此方法。服務應該實現此方法來清理所有資源。 

當元件需要停止乙個啟動服務時,需要呼叫stopservice();解除繫結服務時,需要呼叫unbindservice()。

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