1. 程式人生 > >Android Service用法知識點的講解

Android Service用法知識點的講解

ima code tco 用戶交互 進行 則無 start detail load

技術分享圖片

Android Service

學習Service相關知識點:

android service 的基礎知識,生命周期,service分類,運行地點(本地服務,遠程服務),運行類型(前臺服務,後臺服務),功能(可通信與不可通信)。serviceThread的區別。

技術分享圖片

service基礎

概述:

AndroidService是一個在後臺執行長時間運行操作,而不需要和用戶交互的應用程序組件。主要是用來後臺處理網絡事務,播放音樂,執行文件操作和content provider進行交互等。

技術分享圖片

service到底是什麽?

service作為Android的四大組件之一,程序退出的時候,仍能在後臺服務,即保活。在後臺執行一系列計算任務,耗時的操作建議在單獨的線程中執行。

服務時一種可以在後臺長時間的運行,沒有用界面的應用組件,即是activity被銷毀也不會受到影響,service運行在主線程當中,不能做長時間的運行操作。

service不能做耗時操作,無用戶界面,生命周期長,並在後臺運行。本地服務運行在主線程中,主線程停止,服務則停止,遠程服務,不受activity的影響;前臺服務,用戶可見,後臺服務,用戶不可見,前臺被終止,用戶知道,後臺用戶則無法知道;可通信的後臺服務,兩種啟動模式,隨著調用者退出而銷毀服務,不可通信,即使調用者退出,service也在。

service和Thread的區別

Thread開啟子線程,在其耗時操作,耗時操作可以開啟線程來完成,Thread

是程序的最小單元,service運行時在主線程上,不能耗時操作,相比Threadservice並不是那麽獨立。

技術分享圖片

對於,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用法知識點的講解