Android Service用法知識點的講解
Android Service
學習Service相關知識點:
android service
的基礎知識,生命周期,service
分類,運行地點(本地服務,遠程服務),運行類型(前臺服務,後臺服務),功能(可通信與不可通信)。service
和Thread
的區別。
service基礎
概述:
在Android
中Service
是一個在後臺執行長時間運行操作,而不需要和用戶交互的應用程序組件。主要是用來後臺處理網絡事務,播放音樂,執行文件操作和content provider
進行交互等。
service到底是什麽?
service
作為Android
的四大組件之一,程序退出的時候,仍能在後臺服務,即保活。在後臺執行一系列計算任務,耗時的操作建議在單獨的線程中執行。
服務時一種可以在後臺長時間的運行,沒有用界面的應用組件,即是activity
被銷毀也不會受到影響,service
運行在主線程當中,不能做長時間的運行操作。
service
不能做耗時操作,無用戶界面,生命周期長,並在後臺運行。本地服務運行在主線程中,主線程停止,服務則停止,遠程服務,不受activity
的影響;前臺服務,用戶可見,後臺服務,用戶不可見,前臺被終止,用戶知道,後臺用戶則無法知道;可通信的後臺服務,兩種啟動模式,隨著調用者退出而銷毀服務,不可通信,即使調用者退出,service
也在。
service和Thread的區別
Thread
開啟子線程,在其耗時操作,耗時操作可以開啟線程來完成,Thread
service
運行時在主線程上,不能耗時操作,相比Thread
,service
並不是那麽獨立。
對於,Service服務的分兩種類:
啟動狀態:通過startService()
,綁定狀態:通過bindService()
(英文理解:開啟服務,綁定服務)。
Call to startService -> onCreate() -> onStartCommand() -> Service running -> onDestroy()
Call to bindService() -> onCreate() -> onBind() -> onUnbind() -> onDestroy()
service的工作流程
Service的工作過程
生命周期
這兩種服務各有各的特色。不過在理解之前,先看看它們的生命周期情況(圖片來源於官方):
onCreate():創建時調用
onStartCommand():啟動時調用
onBind():被綁定時調用
onUnbind():被解綁時調用
onDestroy():停止時調用
startService()
stopService()
bindService()
unbindService()
onCreate() -> onStartCommand() -> onDestroy()
onCreate() -> onBind() -> onUnbind() -> onDestroy()
結語
本文主要講解?Android Service用法知識點的講解
下面我將繼續對
Java
、?Android
中的其他知識 深入講解 ,有興趣可以繼續關註小禮物走一走 or 點贊
Android Service用法知識點的講解