1.活動管理器服務(ActivityManagerService)
活動管理服務定義了系統組件層次的管理功能,是服務庫各個功能模塊中比較復雜的一個。
am子目錄主要負責活動管理功能,其中的主文件是ActivityManagerService.java。活動管理器服務的主要ActivityManagerService類繼承了ActivityManagerNative,實際上繼承了以下檔中的介面:frameworks/base/core/java/android/app/IActivityManager.java。
活動管理器服務提供的主要功能如下所示。
● 各個組件的注冊和許可(包括Uri許可)的檢查。
● Activity組件的啟動、返回結果的處理,使用觀測者(IActivityWatcher)。
● Service組件的啟動、停止、綁定、解除綁定。
● BoardcastReceiver組件的注冊、注銷,廣播的發送。
● 處理應用程式的狀態(進程資訊的設置獲取、殺死進程、應用的錯誤、崩潰)。
● 關機、喚醒和睡眠等操作。
● 安裝系統級別的ContentProvider。
相比其他服務,ActivityManagerService偏重於更上層、綜合性的內容。其管是表示應用程式的Application(包括其運行的進程上下文),Activity、Service、BoardcastReceiver和ContentProvider4種組件,以及相關的Permission。
2.視窗管理器服務(WindowManagerService)
視窗管理器服務的主文件是WindowManagerService.java,負責應用程式中視窗相關內容的處理。WindowManagerService的實現Android GUI系統的運行密切相關。
WindowManagerService類實現了以下檔中定義的介面:
frameworks/base/core/java/android/view/IWindowManager.aidl
frameworks/base/core/java/android/view/IWindowSession.aidl
WindowManagerService提供的主要功能如下所示。
● 視窗和View的構建和行為的管理。
● 輸入事件的處理。
● 窗口旋轉、動畫等處理。
● 鎖屏介面等特殊螢幕的處理。
3.包管理器服務(PackageManagerService)
包管理器服務的主文件是PackageManagerService.java,主要負責系統apk包安裝和卸載的相關處理。