Android 界面的绘制与渲染——0基础:视窗和视图

182 阅读1分钟

这是该系列文章的第一篇

要看系列文章,可以跳转到Android 界面的绘制与渲染系列

先简要的介绍下视窗与视图机制

如上图看到的,Activity 作为Android 中页面的承担者,交由系统AMS和ActivityThread 管理,在Activity 中包含Window, 而Window 管理则由WMS 相关去处理,Window 是抽象类,具体实现类是PhoneWindow 类,这个我们后面的博客中会提到。在Window 中则包含一个叫DecorView 的页面根View。 当然它们不是直接包含关系,而是通过ViewRootImpl 这个类进行通信。而在根View 中有包含ActionBar的位置和ContentView,这个ContentView就是我们平时开发中所展示给用户的界面。 在Activity 打开到显示到用户可见的状态时,至少经历了这两个生命周期,后面我们也将主要围绕这两个生命周期去讲。 最后,我们再来看一下View类的继承结构,在现有的Android 的View 类继承结构中,所有View 都直接或间接继承自View 类,比如显示文本的TextView, 显示图片的ImageView, 而ViewGroup 类比较特殊,它除了继承自View, 还实现了Viewparent 和ViewManager两个接口,使得ViewGroup 类有了添加和移除View 的容器能力。

到了这里系列的第一篇文章就结束了,其实文章所讲解的非常简单,只是简单的介绍了一下视窗和视图,而后面的文章我也会围绕这些去讲,这里算是对系列文章内容的一个概括。介绍了View 类的继承关系,后面我们通过分析setContentView()方法来看看页面View 间的组织关系是怎样的。