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在程式清單檔案中的配置

2,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