- Window 和 WindowManager 是什麼關係?
- Window 和 View 是什麼關係?
- WindowManager 和 View 是什麼關係?
Window 和 WindowManager 是什麼關係?
Widow 是個抽象類,在 Android 中所有的檢視都是通過 Window 來呈現的,包括 Activity、Dialog、Toast,它們的檢視實際上都是附加在 Window 上的。Window 的具體實現類是 PhoneWindow。而 WindowManager 是外界訪問 Window 的入口,WindowManager 和 WindowManagerService 之間通過 IPC 進行通訊,從而實現對 Window 的訪問和操作。
Window 和 View 是什麼關係?
Window 是 View 的承載者,而 View 是 Window 的體現者。兩者之間通過 ViewRootImpl 建立聯絡。
怎麼理解這句話呢?
Window 是 View 的承載者:Android 中的所有檢視都是附加在 Window 上呈現出來的 。
View 是 Window 的體現者:因為 Window 是個抽象的概念,並不實際存在,View 才是 Window 存在的實體。
而 ViewRootImpl 是用來建立 Window 和 View 之間的聯絡的,是兩者之間的紐帶。
WindowManager 和 View 是什麼關係?
WindowManager 是 View 的直接管理者,對 View 的新增、刪除、更新操作都是通過 WindowManager 來完成的,對應於 WindowManager 的 addView
、removeView
、updateViewLayout
三個方法。
也歡迎分享你的理解。