View的绘制流程?
View系统的绘制流程会从ViewRoot的performTraversals()方法中开始,在其内部调用View的measure()方法,确定视图的宽度和高度;measure过程结束后,视图的大小就测量好了,就进入了layout过程,用于给视图进行布局,确定视图的位置,ViewRoot的parformTraversals()方法会在musure结束后继续执行,并调用View的layout()方法来执行此过程,在layout方法中,首先会调用setFrame()方法来判断视图的大小是否发生会变化,以确定有没有必要对当地的视图进行重绘;measure和layout的过程都结束后,就进入了draw的过程,ViewRoot中的代码会继续执行并创建出一个Canvas对象,然后调用View的draw()方法来执行具体的绘制工作,draw()方法内部的绘制过程总共可以分为六步,其中第二步和第五步在一般情况下很少用到,第一步是对视图的背景进行绘制,第三步是对视图的内容进行绘制,第四步是对当前视图的子视图进行绘制,第六步是对视图的滚动条进行绘制