(android实战)Service 生命周期和使用注意项
一.基礎知識
服務一般分為兩種:
1:本地服務, Local Service 用于應用程序內部。在Service可以調用Context.startService()啟動,調用Context.stopService()結束。 在內部可以調用Service.stopSelf() 或 Service.stopSelfResult()來自己停止。無論調用了多少次startService(),都只需調用一次 stopService()來停止。
2:遠程服務, Remote Service 用于android系統內部的應用程序之間。可以定義接口并把接口暴露出來,以便其他應用進行操作。客戶端建立到服務對象的連接,并通過那個連接來調用服 務。調用Context.bindService()方法建立連接,并啟動,以調用 Context.unbindService()關閉連接。多個客戶端可以綁定至同一個服務。如果服務此時還沒有加載,bindService()會先加 載它。
提供給可被其他應用復用,比如定義一個天氣預報服務,提供與其他應用調用即可。
那么先來看Service的生命周期吧:如圖:
?
context.startService() ->onCreate()- >onStartCommand()->Service running--調用context.stopService() ->onDestroy()
context.bindService()->onCreate()->onBind()->Service running--調用>onUnbind() -> onDestroy() 從上訴可以知道分別對應本地的,,以及遠程的,也對應不同的方式啟動這個服務。
?
?
二.注意事項
2.1? 同一服務,多次啟動,服務實際執行的過程
第一次 啟動服務時,運行?onCreate?-->onStartCommand
后面在啟動服務時,服務只執行onStartCommand
在實際使用過程中,通過Intent 傳遞數據,在OnStartCommand中執行。
總結
以上是生活随笔為你收集整理的(android实战)Service 生命周期和使用注意项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 实现Activity后台
- 下一篇: Android学习笔记之android: