View 的加载过程
不废话,先上图:
view的加载过程
ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的。在ActivityThread中,当Activity对象被创建完毕后,会将DecorView添加到Window中,同时会创建ViewRootImpl对象,并将ViewRootImpl对象和DecorView建立关联
View的整个绘制流程可以分为以下三个阶段:
- measure: 判断是否需要重新计算View的大小,需要的话则计算
- layout: 判断是否需要重新计算View的位置,需要的话则计算
- draw: 判断是否需要重新绘制View,需要的话则重绘制
prefromTraversals工作流程