溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android系統(tǒng)服務(wù)是怎么樣的

發(fā)布時(shí)間:2021-12-20 09:01:33 來(lái)源:億速云 閱讀:131 作者:柒染 欄目:開(kāi)發(fā)技術(shù)

Android系統(tǒng)服務(wù)是怎么樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

System_Server進(jìn)程

運(yùn)行在system server進(jìn)程中的服務(wù)比較多,這是整個(gè)android框架的基礎(chǔ)

Native服務(wù)

SurfaceFlinger

這是framebuffer合成的服務(wù),將各個(gè)應(yīng)用程序及應(yīng)用程序中的邏輯窗口圖像數(shù)據(jù)(surface)合成到一個(gè)物理窗口中顯示(framebuffer)的服務(wù)程序

Java服務(wù):

這部分的服務(wù)大部分都有一個(gè)供應(yīng)用進(jìn)程使用的manager類,這就是一個(gè)RPC調(diào)用,用戶通過(guò)調(diào)用xxxManager的方法,實(shí)際上被Binder給遷移到system_server進(jìn)程中對(duì)應(yīng)的xxxManagerService中對(duì)應(yīng)的方法,并將結(jié)果再通過(guò)binder帶回。 

  • 1. EntropyService

熵服務(wù),周期性的加載和保存隨機(jī)信息。主要是linux開(kāi)機(jī)后,/dev/random的狀態(tài)可能是可預(yù)知的,這樣一些需要隨機(jī)信息的應(yīng)用程序就可能會(huì)有問(wèn)題。這個(gè)無(wú)需提供應(yīng)用程序接口。

  • 2. PowerManagerService –> PowerManager

Android 的電源管理也是很重要的一部分。比如在待機(jī)的時(shí)候關(guān)掉不用的設(shè)備,待機(jī)時(shí)屏幕和鍵盤背光的關(guān)閉,用戶操作的時(shí)候該打開(kāi)多少設(shè)備等等。

  • 3. ActivityManagerService->ActivityManager

這個(gè)是整個(gè)Android framework框架中最為核心的一個(gè)服務(wù),管理整個(gè)框架中任務(wù)、進(jìn)程管理, Intent解析等的核心實(shí)現(xiàn)。雖然名為Activity的Manager Service,但它管轄的范圍,不只是Activity,還有其他三大組件,和它們所在的進(jìn)程。也就是說(shuō)用戶應(yīng)用程序的生命管理,都是由他負(fù)責(zé)的。

  • 4. TelephonyRegistry->TelephonyManager

電話注冊(cè)、管理服務(wù)模塊,可以獲取電話的鏈接狀態(tài)、信號(hào)強(qiáng)度等等。<可以刪掉,但要看的大概明白>

  • 5. PackageManagerService -> PackageManager

包括對(duì)軟件包的解包,驗(yàn)證,安裝以及升級(jí)等等,對(duì)于我們現(xiàn)在不能安裝.so文件的問(wèn)題,應(yīng)該先從這塊著手分析原因。

  • 6. AccountManagerService -> AccountManager

A system service that provides  account, password, and authtoken management for all accounts on the device。

  • 7. ContentService -> ContentResolver

內(nèi)容服務(wù),主要是數(shù)據(jù)庫(kù)等提供解決方法的服務(wù)。

  • 8. BatteryService

監(jiān)控電池充電及狀態(tài)的服務(wù),當(dāng)狀態(tài)改變時(shí),會(huì)廣播Intent

  • 9. HardwareService

一般是ring和vibrate的服務(wù)程序

  • 10. SensorService -> SensorManager

管理Sensor設(shè)備的服務(wù),負(fù)責(zé)注冊(cè)client設(shè)備及當(dāng)client需要使用sensor時(shí)激活Sensor

  • 11. WindowManagerService -> WindowManager -> PhoneWindowManager

和ActivityManagerService高度粘合窗口管理,這里最核心的就是輸入事件的分發(fā)和管理。

  • 12. AlarmManagerService -> AlarmManager

鬧鐘服務(wù)程序

  • 13. BluetoothService -> BluetoothDevice

藍(lán)牙的后臺(tái)管理和服務(wù)程序

  • 14. StatusBarService -> StatusBarManager

負(fù)責(zé)statusBar上圖標(biāo)的更新、動(dòng)畫等等的服務(wù),服務(wù)不大。

  • 15. ClipboardService -> ClipboardManager

和其他系統(tǒng)的clipBoard服務(wù)類似,提供復(fù)制黏貼功過(guò)。

  • 16. InputMethodManagerService -> InputMethodManager

輸入法的管理服務(wù)程序,包括何時(shí)使能輸入法,切換輸入法等等。

  • 17. NetStatService

手機(jī)網(wǎng)絡(luò)服務(wù)

  • 18. ConnectivityService -> ConnectivityManager

網(wǎng)絡(luò)連接狀態(tài)服務(wù),可供其他應(yīng)用查詢,當(dāng)網(wǎng)絡(luò)狀態(tài)變化時(shí),也可廣播改變。

  • 19. AccessibilityManagerService-> AccessibilityManager

這塊可能要仔細(xì)看一下,主要是一些View獲得點(diǎn)擊、焦點(diǎn)、文字改變等事件的分發(fā)管理,對(duì)整個(gè)系統(tǒng)的調(diào)試、問(wèn)題定位等,也需要最這個(gè)服務(wù)仔細(xì)過(guò)目一下。

  • 20. NotificationManagerService -> NotificationManager

負(fù)責(zé)管理和通知后臺(tái)事件的發(fā)生等,這個(gè)和statusbar膠黏在一起,一般會(huì)在statusbar上添加響應(yīng)圖標(biāo)。用戶可以通過(guò)這知道系統(tǒng)后臺(tái)發(fā)生了什么事情。

  • 21. MountService

磁盤加載服務(wù)程序,一般要和一個(gè)linux daemon程序如vold/mountd等合作起作用,主要負(fù)責(zé)監(jiān)聽(tīng)并廣播device的mount/unmount/bad removal等等事件。

  • 22. DeviceStorageMonitorService

監(jiān)控磁盤空間的服務(wù),當(dāng)磁盤空間不足10%的時(shí)候會(huì)給用戶警告

  • 23. LocationManagerService -> LocationManager

要加入GPS服務(wù)等,這部分要細(xì)看,現(xiàn)在應(yīng)用中的navigation沒(méi)響應(yīng),可以從此處著手看一下

  • 24. SearchManagerService -> SearchManager

The search manager service handles the search UI, and maintains a registry of searchable activities.

  • 25. Checkin Service(FallbackCheckinService)

貌似checkin service是google提供的包,沒(méi)有源代碼,源碼只有fallbackCheckinService

  • 26. WallpaperManagerService -> WallpaperManager

管理桌面背景的服務(wù),深度定制化桌面系統(tǒng),需要看懂并擴(kuò)展<同時(shí)要兼容>這部分

  • 27. AudioService -> AudioManager

AudioFlinger的上層管理封裝,主要是音量、音效、聲道及鈴聲等的管理

  • 28. HeadsetObserver

耳機(jī)插拔事件的監(jiān)控小循環(huán)

  • 29. DockObserver

如果系統(tǒng)有個(gè)座子,當(dāng)手機(jī)裝上或拔出這個(gè)座子的話,就得靠他來(lái)管理了

  • 30. BackupManagerService -> BackupManager

備份服務(wù)

  • 31. AppWidgetService -> AppWidgetManager

Android可以讓用戶寫的程序以widget的方式放在桌面上,這就是這套管理和服務(wù)的接口

  • 32. StatusBarPolicy

管理哪個(gè)圖標(biāo)該在status bar上顯示的策略。

mediaServer服務(wù)進(jìn)程

MediaServer服務(wù)基本上都是native的services,mediaServer進(jìn)程也是在init.rc中啟動(dòng)的,它不是一個(gè)daemon進(jìn)程,這點(diǎn)容易搞混。他也是和systemserver進(jìn)程類似的系統(tǒng)服務(wù)進(jìn)程,提供應(yīng)用進(jìn)程的RPC調(diào)用的真正服務(wù)代碼所運(yùn)行的位置。其服務(wù)都是和媒體錄播放有關(guān),主要有三個(gè)服務(wù):

  • AudioFlinger

聲音的錄播放服務(wù),包括混音等

  • MediaPlayerService

提供媒體播放服務(wù),opencore是這塊的核心模塊,對(duì)java端的接口在mediaplayer.java

  • CameraService

提供camera的錄制、preview等功能的服務(wù)

AudioPolicyService

主要功能有檢查輸入輸出設(shè)備的連接狀態(tài)及系統(tǒng)的音頻策略的切換等。

看完上述內(nèi)容,你們掌握Android系統(tǒng)服務(wù)是怎么樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI