Service
1 .個人對Service的理解:
在最底層的一個透明activity,看不到摸不著的一個activity,而且還是主執行緒,一般來說用來操作一些耗時的任務,或者是執行長期執行的任務(需要開啟副執行緒,下載任務,邊播邊快取等)。
2.Service的兩種啟動方式:
-
startService: 這種啟動方式會一直在後臺執行,直到你手動結束它stopService。(個人一般用這種來做下載任務)。
-
bindService: 這種模式會隨開啟的這個服務的呼叫者的消亡而消亡。(比如在視訊觀看頁面邊播邊快取的任務,結束觀看這個任務也就不需要了,當然也可以手動呼叫結束unbindService)。
3.Service的生命週期
4.Service和Activity是如何通訊的
- startService:
(1)不管服務是否啟動,只要activity呼叫startService,service都可以在onStartCommand(Intent intent .....)方法中接收傳參等。
(2)service通知Activity則需要用到廣播或者別的方法(彈個通知欄?)。 - bindService:
(1)通過IBinder進行通訊,實現android.os.Binder類,並且定義一個方法,然後我們通過onBind()方法將其物件返回Activity。(用於監聽service的進度或情況)
(2)廣播。