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
网友评论