文章目录
  1. 1. 概述:Android的View系统的体系结构总结:(ViewRoot–>ViewRootImpl)
    1. 1.1. View与ViewRoot的关系
    2. 1.2. Activity与Window的关系
    3. 1.3. Window与WindowManagerImpl的关系
    4. 1.4. ViewRoot和WindowManagerImpl的关系
    5. 1.5. ViewRootImpl与WindowManagerService关系

概述: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来完成。
文章目录
  1. 1. 概述:Android的View系统的体系结构总结:(ViewRoot–>ViewRootImpl)
    1. 1.1. View与ViewRoot的关系
    2. 1.2. Activity与Window的关系
    3. 1.3. Window与WindowManagerImpl的关系
    4. 1.4. ViewRoot和WindowManagerImpl的关系
    5. 1.5. ViewRootImpl与WindowManagerService关系