Android-View-System
文章目录
概述:Android的View系统的体系结构总结:(ViewRoot–>ViewRootImpl)
- View与ViewRootImpl的关系
- Activity与Window的关系
- Window与WindowManagerImpl的关系
- ViewRootImpl和WindowManagerImpl的关系
- ViewRootImpl与WindowManagerService关系
View与ViewRoot的关系
- ViewRootImpl中的成员变量指向View树的根
Activity与Window的关系
- Activity内部有一个Window的成员变量指向其子类PhoneWindow
Window与WindowManagerImpl的关系
- WindowManager是Window的成员变量,其实现类为WindowManagerImpl
ViewRoot和WindowManagerImpl的关系
- WindowManagerImpl内部通过WindowManagerGlobal对象对如下三个对象进行管理:
1
2
3
4
private final ArrayList<View> mViews = new ArrayList<View>();
private final ArrayList<ViewRootImpl> mRoots = new ArrayList<ViewRootImpl>();
private final ArrayList<WindowManager.LayoutParams> mParams =new ArrayList<WindowManager.LayoutParams>();
ViewRootImpl与WindowManagerService关系
- ViewRootImpl负责与WMS进行通信(IWindowSession),反向通过IWindow来完成。