1,invalidate会标识需要重绘的脏区域,但还是要等SurfaceFlinger发送VSync信号才能触发重绘。SurfaceFlinger会自动定期发送VSync信号,每秒发送的VSync信号数就是帧率。
2,遍历View树进行重绘的方法封装成了Message中的Runnable,在UI线程被执行
3,Choreographer可以解决短时间多个重绘请求的问题,它会等到下一个vsync信号来的时候才会开始处理消息。它也会向UI线程发送并同步消息屏障,保证重绘消息优先执行
4,View的onDraw被调用
网友评论