1,从setContentView开始到LayoutInflater只是解析xml文件并转化成View,过程如下图
2,view转化之后会通过ViewRoot去绘制
View的绘制是由ViewRoot来负责的。每个应用程序窗口的decorView都有一个与之关联的ViewRoot对象,这种关联关系是由WindowManager来维护的。
decorView与ViewRoot的关联关系是在Activity启动时,ActivityThread.handleResumeActivity()方法中建立了它们两者的关联关系,
当建立好了decorView与ViewRoot的关联后,ViewRoot类的requestLayout()方法会被调用,以完成应用程序用户界面的初次布局。实际被调用的是ViewRootImpl类的requestLayout()方法。
如下图所示,会调用 scheduleTraversals()以及performTraversals()方法,在performTraversals方法里面会执行performMeasure、performLayout、performDraw,它们会依次调用View中的measure、onMeasure、layout、onLayout、draw、onDraw方法。