Android中WindowManager的理解

2020-04-07  本文已影响0人  MadnessXiong

WindowManager简介

WindowManager(WM)是一个接口类,继承自接口ViewManager,它是用来管理Window的。它的实现类为WindowManagerImpl。对窗口的添加,更新和删除操作,由WM负责。它会将具体的工作交由WMS来处理,WM和WMS通过Binder来进行进程间通信,WMS作为系统服务有很多API是不会暴露给WM的

WindowManager的关联类

Window的属性

Window为了更好地与WMS通讯,它们之间制定了一些协议,这个协议就是Window的属性。这些属性定义在WindowManager的LayoutParams中。Window的属性有很多种,与开发关系密切的有3种,它们分别是Type(window的类型),Flag(Window的标志)和SoftInputMode(软键盘相关模式)

Window的操作

对Window的操作,最终都会交由WMS来进行处理。窗口的处理分为2部分,一部分是WindowManager处理部分,一部分是WMS处理部分。对于不同的窗口类型(应用程序窗口,子窗口,系统窗口)添加过程有所不同,但是对于WMS处理的过程,基本上是一样的。WMS对这三大窗口基本是一视同仁的。

上一篇下一篇

猜你喜欢

热点阅读