天天看點

android之服務service

service的概念:

官方定義:在背景長時間的操作,沒有使用者界面,不與使用者進行互動,在預設的情況下,service運作在應用程式程序的主線程中,如果需要在Service中處理一些網絡連接配接等耗時操作,那麼應該将這些任務放到單獨的線程中去處理,避免阻塞使用者界面。

使用場景:音樂的播放,檔案IO流操作,大資料的資料庫操作,播放音樂。

1)  按home鍵,服務還在運作。

2) 退出程序,服務不在運作。

3) 服務不是新的程序,也不是新的線程,他是與目前程序綁定的。

服務的分類:

一:按照啟動方式分:

1) started Service

     1, startService()來啟動Service

     2, 一旦啟動,就運作在背景,即便啟動它的Activity已經銷毀。

2) bound Service

  1, bindService來啟動Service

  2, 提供伺服器端,用戶端接口來實作。

  3, 發送請求,得到傳回值,甚至通過IPC來實作通信。

二:按照服務性質來分:

1) local service--本地服務

2) Remote service--遠端服務

三:按照實作方法來分:

1)java Service

2)native Service

服務的生命周期:

一,service在程式清單檔案中的配置

android之服務service

2,service生命周期圖:

android之服務service

啟動service startService(intent);

停止Service stopService(intent);

服務中耗時操作也需要通過子線程去處理耗時操作。

備注:

 1.Service不是一個單獨的程序 ,它和應用程式在同一個程序中。

2.Service不是一個線程,是以我們應該避免在Service裡面進行耗時的操作

如何停止Service中的線程???

一些連接配接:

service1 : http://blog.csdn.net/guolin_blog/article/details/11952435

service2 :http://blog.csdn.net/guolin_blog/article/details/9797169