Window、WindowManager、View 之间的关系

  1. Window 和 WindowManager 是什么关系?
  2. Window 和 View 是什么关系?
  3. WindowManager 和 View 是什么关系?

Window 和 WindowManager 是什么关系?

Widow 是个抽象类,在 Android 中全部的视图都是经过 Window 来呈现的,包括 Activity、Dialog、Toast,它们的视图实际上都是附加在 Window 上的。Window 的具体实现类是 PhoneWindow。而 WindowManager 是外界访问 Window 的入口,WindowManager 和 WindowManagerService 之间经过 IPC 进行通讯,从而实现对 Window 的访问和操做。code

Window 和 View 是什么关系?

Window 是 View 的承载者,而 View 是 Window 的体现者。二者之间经过 ViewRootImpl 创建联系。rem

怎么理解这句话呢?it

Window 是 View 的承载者:Android 中的全部视图都是附加在 Window 上呈现出来的 。ast

View 是 Window 的体现者:由于 Window 是个抽象的概念,并不实际存在,View 才是 Window 存在的实体。date

而 ViewRootImpl 是用来创建 Window 和 View 之间的联系的,是二者之间的纽带。方法

WindowManager 和 View 是什么关系?

WindowManager 是 View 的直接管理者,对 View 的添加、删除、更新操做都是经过 WindowManager 来完成的,对应于 WindowManager 的 addViewremoveViewupdateViewLayout 三个方法。通信

也欢迎分享你的理解。分享

相关文章
相关标签/搜索