总结:View的绘制流程

2019-10-08  本文已影响0人  GoodWen

1,绘制入口

当Activity创建之后,在ActivityThread.handleResumeActivity()里面,会通过 vm 来调用一个addView()方法
这个 vm 我们需要去找到他的实现类,那实现类就是WindowManagerImpl


222.png

第一个参数实际上是顶层View,第二参数是顶层View的布局属性
接着 会调用WindowMangerGlobal.addView()方法


33333.png

2,绘制类及方法

他在其中会创建出ViewRootImpl对象,最后调用一个setView()方法,将DecorView 布局属性对象做一个关联
关联成功以后,ViewRootImpl对象里面就开始准备绘制,而绘制开始,是调用一个requestLayout()方法
这个方法里面接着又会调用scheduleTraversals()方法,紧接着是 doTraversal() 然后就是 performTraversals()

3,绘制三大步

而真正执行绘制流程三大步的 是在 performTraversals()里面 对应着三个重要的方法

4444.png

总图:


4444.png

View绘制详细步骤:


4444.png
上一篇下一篇

猜你喜欢

热点阅读