在Wms中,窗口是由两部分内容构成,一部分是描述该窗口的类WindowState,另一部分是该窗口在屏幕上对应的界面Surface
窗口管理的策略机制WindowManagerPolicy.此类是为了限制Wms的功能,或者使WmS遵守某种规则,而不是扩充WmS的功能。比如系统状态栏不允许被添加两个,这个就是策略。
在Wms内部全权接管了输入消息的处理和屏幕的绘制。其中输入消息的处理是借助于InputManager类完成的,绘制屏幕是借助于SurfaceFlinger模块完成,SurfaceFlinger是linux的一个驱动,它内部会使用芯片的图形加速引擎完成对界面的绘制。
WindowToken描述的是窗口对应的token的相关属性,每个窗口都会对应一个WindowToken对象,但是一个窗口的所以子窗口将对应同一个WindowToken对象,即多对一的关系。
如果窗口是由Activity创建的,即该窗口对应一个Activity,那么该窗口同时对应一个AppWinddowToken对象。