美文网首页Android
理解Window和WindowManager

理解Window和WindowManager

作者: 铜角大王 | 来源:发表于2017-08-10 15:47 被阅读0次

    1.Window是一个抽象类,它的具体实现是PhoneWindow。

    Window是一个抽象概念,每一个Window都对应着一个View和一个ViewRootImpl,Window和View通过ViewRootImpl建立关联。因此Window并不是实际存在的,它是以View的形式存在。

    2.WindowManager是一个接口,是外界访问Window的入口。它的真正实现是WindowManagerImpl类。在WindowManagerImpl中有Window的三大操作实现:添加、更新、删除。都是调用mGlobal的方法,即将所有的操作委托给WindowManagerGlobal来实现。最终会通过WindowSession来完成操作。WindowSession的类型是IWindowSession,是一个Binder对象,真正的实现类是Session。Session内部会通过WindowManagerService来实现功能操作。

    所以Window的操作主要通过WindowManager与WindowManagerService之间的IPC操作来完成。

    相关文章

      网友评论

        本文标题:理解Window和WindowManager

        本文链接:https://www.haomeiwen.com/subject/lkvhrxtx.html