簡述Android framework之AMS、PMS、WMS

服務端

主要是ActivityManagerService(AMS), WindowManagerService(WMS),PackageM anerService(PMS)

  • AMS 主要用於管理所有應用程序的Activity
  • WMS 管理各個窗口,隱藏,顯示等
  • PMS 用來管理跟蹤所有應用APK,安裝,解析,控制權限等.

還有用來處理觸摸消息的兩個類KeyInputQueue和InputDispatchThread,一個用來讀消息,一個用來分發消息.

客戶端

主要包括ActivityThread,Activity,DecodeView及父類View,PhoneWindow,ViewRootImpl及內部類W等

  • ActivityThread主要用來和AMS通訊的客戶端,Activity是我們編寫應用比較熟悉的類

依賴Linux底層能力的驅動

主要是SurfaceFlingger(SF)和Binder驅動

  • 每一個窗口都對應一個Surface,SF驅動的作用就是把每一個Surface顯示到同一個屏幕上
  • Binder 內核驅動的作用,就是爲上面的服務端和客戶端(或者服務端和服務端之間),提供IPC通訊用的。

Zygote

系統中運行的第一個Dalvik虛擬機程序叫做zygote,該名稱的意義是“一個卵”,,因爲接下來的所有 Dalvik虛擬機進程都是通過這個“卵” 孵化出來的。

zygote進程中包含兩個主要模

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章