一種方式:
被開啟的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 如果...