Android知識點複習2(Service)

超高校級的騷豬發表於2018-02-06

Service

1 .個人對Service的理解:

在最底層的一個透明activity,看不到摸不著的一個activity,而且還是主執行緒,一般來說用來操作一些耗時的任務,或者是執行長期執行的任務(需要開啟副執行緒,下載任務,邊播邊快取等)。

2.Service的兩種啟動方式:

  • startService: 這種啟動方式會一直在後臺執行,直到你手動結束它stopService。(個人一般用這種來做下載任務)。

  • bindService: 這種模式會隨開啟的這個服務的呼叫者的消亡而消亡。(比如在視訊觀看頁面邊播邊快取的任務,結束觀看這個任務也就不需要了,當然也可以手動呼叫結束unbindService)。

3.Service的生命週期

Android知識點複習2(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)廣播。

4.未知,待補充。。。

相關文章