献县建设局网站,福州建设招聘信息网站,hexo用wordpress,wordpress 提交熊掌文章目录 View.invalidate操作View.requestLayout操作ViewGroup.addView操作小结View.invalidate操作
1.从下向上,利用链表结构传递dirty,dirty是需要重新渲染的区域 从调用invalidate的View对象,直到树顶的ViewRootImpl对象 涉及到的API View.invalidate() ViewGroup.inval… 文章目录 View.invalidate操作View.requestLayout操作ViewGroup.addView操作小结 View.invalidate操作
1.从下向上,利用链表结构传递dirty,dirty是需要重新渲染的区域
从调用invalidate的View对象,直到树顶的ViewRootImpl对象 涉及到的API
View.invalidate()
ViewGroup.invalidateChildInParent()
ViewRootImpl.invalidateChildInParent()
2.从上到下,利用树状结构完成ViewTree的遍历过程:先measure, 再layout,最后draw
ViewRootImpl.scheduleTraversals()
保证在主线程中调用ViewRootImpl.performTraversals()
ViewRootImpl.performTraversals()
调用mView.measure()方法
调用mView.layout()方法