view 调用 invalidate
参考 http://blog.csdn.net/guolin_blog/article/details/17045157
1. invalidate
2. ViewParent的invalidateChild()
3. 进入了一个while循环,当ViewParent不等于空的时候就会一直循环下去。在这个while循环当中会不断地获取当前布局的父布局,并调用它的invalidateChildInParent()方法,在ViewGroup的invalidateChildInParent()方法中主要是来计算需要重绘的矩形区域,这里我们先不管它,当循环到最外层的根布局后,就会调用ViewRoot的
4. invalidateChildInParent()
5. ViewRoot.scheduleTraversals()
6. ViewRoot.sendEmptyMessage(DO_TRAVERSAL)
7. ViewRoot handleMessage 中调用ViewRoot.performTraversals()
总结:从上往下调用 直至调用performTraversals 刷新