android系統服務詳解

來源:互聯網
上載者:User
System_Server進程

運行在system server進程中的服務比較多,這是整個android架構的基礎

 

Native服務

SurfaceFlinger

 

這是framebuffer合成的服務,將各個應用程式及應用程式中的邏輯視窗映像資料(surface)合成到一個物理視窗中顯示(framebuffer)的服務程式

 

Java服務:

這部分的服務大部分都有一個供應用進程使用的manager類,這就是一個RPC調用,使用者通過調用xxxManager的方法,實際上被Binder給遷移到system_server進程中對應的xxxManagerService中對應的方法,並將結果再通過binder帶回。 

 

 

1. EntropyService

熵服務,周期性的載入和儲存隨機資訊。主要是linux開機後,/dev/random的狀態可能是可預知的,這樣一些需要隨機資訊的應用程式就可能會有問題。這個無需提供應用程式介面。

 

2. PowerManagerService –> PowerManager

Android 的電源管理也是很重要的一部分。比如在待機的時候關掉不用的裝置,待機時螢幕和鍵盤背光的關閉,使用者操作的時候該開啟多少裝置等等。

 

3. ActivityManagerService->ActivityManager

這個是整個Android framework架構中最為核心的一個服務,管理整個架構中任務、進程管理, Intent解析等的核心實現。雖然名為Activity的Manager Service,但它管轄的範圍,不只是Activity,還有其他三大組件,和它們所在的進程。也就是說使用者應用程式的生命管理,都是由他負責的。

 

4. TelephonyRegistry->TelephonyManager

電話註冊、管理服務模組,可以擷取電話的連結狀態、訊號強度等等。<可以刪掉,但要看的大概明白>

 

5. PackageManagerService -> PackageManager

包括對軟體包的解包,驗證,安裝以及升級等等,對於我們現在不能安裝.so檔案的問題,應該先從這塊著手分析原因。

 

6. AccountManagerService -> AccountManager

A system service that provides  account, password, and authtoken management for all

 accounts on the device。

 

7. ContentService -> ContentResolver

內容服務,主要是資料庫等提供解決方案的服務。

 

8. BatteryService

監控電池充電及狀態的服務,當狀態改變時,會廣播Intent

 

9. HardwareService

一般是ring和vibrate的服務程式

 

10. SensorService -> SensorManager

管理Sensor裝置的服務,負責註冊client裝置及當client需要使用sensor時啟用Sensor

 

11. WindowManagerService -> WindowManager -> PhoneWindowManager

和ActivityManagerService高度粘合

視窗管理,這裡最核心的就是輸入事件的分發和管理。

 

12. AlarmManagerService -> AlarmManager

鬧鐘服務程式

 

13. BluetoothService -> BluetoothDevice

藍芽的後台管理和服務程式

 

14. StatusBarService -> StatusBarManager

負責statusBar標的更新、動畫等等的服務,服務不大。

 

15. ClipboardService -> ClipboardManager

和其他系統的clipBoard服務類似,提供複製黏貼功過。

 

16. InputMethodManagerService -> InputMethodManager

IME的管理服務程式,包括何時使能IME,切換IME等等。

 

17. NetStatService

行動電話通訊服務

 

18. ConnectivityService -> ConnectivityManager

網路連接狀態服務,可供其他應用查詢,當網路狀態變化時,也可廣播改變。

 

19. AccessibilityManagerService-> AccessibilityManager

這塊可能要仔細看一下,主要是一些View獲得點擊、焦點、文字改變等事件的分發管理,對整個系統的調試、問題定位等,也需要最這個服務仔細過目一下。

 

20. NotificationManagerService -> NotificationManager

負責管理和通知後台事件的發生等,這個和statusbar膠黏在一起,一般會在statusbar上添加響應表徵圖。使用者可以通過這知道系統後台發生了什麼事情。

 

21. MountService

磁碟載入服務程式,一般要和一個linux daemon程式如vold/mountd等合作起作用,主要負責監聽並廣播device的mount/unmount/bad removal等等事件。

 

22. DeviceStorageMonitorService

       監控磁碟空間的服務,當磁碟空間不足10%的時候會給使用者警告

 

23. LocationManagerService -> LocationManager

       要加入GPS服務等,這部分要細看,現在應用中的navigation沒響應,可以從此處著手看一下

 

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提供的包,沒有原始碼,源碼只有fallbackCheckinService

 

26. WallpaperManagerService -> WallpaperManager
管理案頭背景的服務,深度定製化案頭系統,需要看懂並擴充<同時要相容>這部分

 

27. AudioService -> AudioManager

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

 

28. HeadsetObserver

耳機插拔事件的監控小迴圈

 

29. DockObserver

如果系統有個座子,當手機裝上或拔出這個座子的話,就得靠他來管理了

 

30. BackupManagerService -> BackupManager

備份服務

 

31. AppWidgetService -> AppWidgetManager

Android可以讓使用者寫的程式以widget的方式放在案頭上,這就是這套管理和服務的介面

 

32. StatusBarPolicy

管理哪個表徵圖該在status bar上顯示的策略。

 

 

mediaServer服務進程

MediaServer服務基本上都是native的services,mediaServer進程也是在init.rc中啟動的,它不是一個daemon進程,這點容易搞混。他也是和systemserver進程類似的系統服務進程,提供應用進程的RPC調用的真正服務代碼所啟動並執行位置。其服務都是和媒體錄播放有關,主要有三個服務:

 

AudioFlinger

聲音的錄播放服務,包括混音等

 

MediaPlayerService

提供媒體播放服務,opencore是這塊的核心模組,對java端的介面在mediaplayer.java

 

CameraService

提供camera的錄製、preview等功能的服務

 

AudioPolicyService

主要功能有檢查輸入輸出裝置的串連狀態及系統的音頻策略的切換等。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.