《深入理解Android》学习-View体系
《深入理解Android》学习-View体系(一) SurfaceFlinger和WMS支撑起了Android的GUI的底层,但是和终端用户直接交互的还是View系统,本节将对View系统进行介绍,主要描述view的管理以及绘制过程。 1.1 View框架 下图是View框架的核心类图。 先介绍下上面图中各个类的关系。 Activity和Window Activity支持UI显示,但是并不是直接进行View树的管理,Activity中定义了一个Window类型的对象mWindow。而Window是个基类,系统根据不同的产品来产生不同的子类。具体是在调用Activity.attach中调用PolicyManager.makeNewWindow来决定的,目前默认生成的都是PhoneWindow。 Window和WindowManagerImpl Window具有两层含义,一方面它面向Activity,承担着显示UI的作用;另一方面它还要同WindowManagerService通信。当然,这个也不是直接在Window中实现的,不然会造成功能混乱,这个功能由WindowManager来实现,而Window中包含了一个WindowManager的对象mWindowManager,WindowManager是一个接口,其真正的实现是在WindowManagerImpl当中。