Android service介紹和啟動方式


1、Android service的作用

 service通常是用來處理一些耗時操作,或后台執行不提供用戶交互界面的操作,例如:下載、播放音樂。

 

2、Android service的生命周期

 service生命周期沒有activity生命周期那么復雜,它只有onCreate()、onStart()、onDestroy()三個方法,當第一次啟動Service時,先后調用了onCreate(),onStart()這兩個方法,當停止Service時,則執行onDestroy()方法,這里需要注意的是:如果Service已啟動,我們再次啟動程序調用該service時,不會在執行onCreate()方法,而是直接執行onStart()方法

 

3、Android service的兩種啟動方式:

 ①、startService():同一應用在任意地方調用startService()方法都能啟動Service,然后系統會自動調用onCreate()、onStart(),這樣啟動的 Service 會一直運行在后台,直到 stopService() 或者 selfStop() 方法被調用。另外如果一個 Service 已經被啟動,其他代碼再想調用 startService() 方法,則不會執行 onCreate() 的,但會重新執行一次 onStart() 。

 ②、bindService():使用bindService()方法啟動時,service會和客戶端綁定起來,客戶端停止則service也會停止。

 

 兩者區別:startService()與客戶端是否退出沒關聯關系,即使客戶端停止運行服務同樣會在后台運行,但bindService()是與客戶端綁定的,客戶端退出service也會自動停止

 

4、Android后台服務保持機制

 利用Android系統廣播每分鍾一次,在系統廣播里每分鍾檢查一次Service的運行狀態,如果已經被結束了,就重新啟動service。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM