標籤:androi top manifest alt family star 手動 聯合 style
- 定義:服務,是Android四大組件之一,屬於計算型組件
- 作用:提供 需在後台長期啟動並執行服務
- 生命週期:
在Service的生命週期裡,常用的有:
(1) 4個手動調用的方法
手動調用方法 |
作用 |
startService() |
啟動服務 |
stopService() |
關閉服務 |
bindService() |
綁定服務 |
unbindService() |
解除綁定服務 |
(2) 5個自動調用的方法
內部自動調用的方法 |
作用 |
onCreat() |
建立服務 |
onStartCommand() |
開始服務 |
onDestroy() |
銷毀服務 |
onBind() |
綁定服務 |
onUnbind() |
解除綁定服務 |
- 注意:必須聲明在AndroidManifest.xml檔案中。(Android四大組件均需要聲明在此設定檔中)
- 使用情境:
(1)僅啟動一個後台服務,長期進行某項任務,使用startService;
(2)僅想與後台服務進行通訊,使用bindService;
(3)如果一個Service又被啟動又被綁定,則該Service會一直在後台運行,既使用startService,又使用bindService。
首先不管如何調用,onCreate始終只會調用一次。對應startService調用多少次,Service的onStartCommand方法便會調用多少次。Service的終止,需要unbindService和stopService同時調用才行。
不管startService與bindService的調用順序,如果先調用unbindService,此時服務不會自動終止,再調用stopService之後,服務才會終止;如果先調用stopService,此時服務也不會終止,
而再調用unbindService或者之前調用bindService的Context不存在了(如Activity被finish的時候)之後,服務才會自動停止。
(1) Service 與 Thread的區別
註:一般會將 Service 和 Thread聯合使用,即在Service中再建立一個子線程(背景工作執行緒)去處理耗時操作邏輯
(2) Service和IntentService的區別
Android 開發中Service完全解析