WMS的重要成員以及Window添加和刪除過程

1 mPolicy:WindowManagerPolicy

mPolicy是WindowManagerPolicy類型的變量。WindowManagerPolicy是窗口管理策略的接口類,用來定義一個窗口策略所要遵循的通用規範,並提供了WindowManager所有的特定的UI行爲。它的具體實現類爲PhoneWindowManager,這個實現類在WMS創建時被調用。 WMP運行定製窗口層級和特殊窗口類型以及關鍵的調度和佈局

2 mSessions: ArraySet

mSessions是ArraySet類型的變量,元素類型爲Session,它主要用於進程間通信,其他營業程序進程想要和WMS進程進行通信就需要經過Session,並且每個應用程序進程都會對應一個Session,WMS保存這些Session用來記錄所有向WMS提出窗口管理服務的客服端

3 mWindowMap:WindowHashMap

mWindowMap是WindowHashMap類型的變量,WindowHashMap繼承了HashMap,它限制了HashMap的key值得類型爲IBinder,value值類型爲WindowState.WindowState用於保存窗口的信息,在WMS中它用來描述一個窗口,mWindowMap就是用來保存WMS中各種窗口的集合

4 mFinishedStarting:ArrayList

mFinishedStarting是ArrayList類型的變量,元素類型爲AppWindowToken,它是WindowToken的子類。

WindowToken的作用:

1) 可以理解爲窗口令牌,當應用程序想要向WMS申請新創建一個窗口,則需要向WMS出示有效的WindowToken。AppWindowToken作爲WindowToken的子類,主要用來描述應用程序的WindowToken結構,應用程序中每個activity都對應一個AppWindowToken。

2)WindowT

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