美文网首页
requestLayout、invalidate与postInv

requestLayout、invalidate与postInv

作者: 卡路fly | 来源:发表于2020-05-22 02:18 被阅读0次

--
来源:源码深度分析

requestLayout

请求布局。如果调用了这个方法,那么对于一个子View来说,应该会重新进行布局流程。但是,真实情况略有不同,如果子View调用了这个方法,其实会从View树重新进行一次测量、布局、绘制这三个流程,最终就会显示子View的最终情况。

invalidate:

当子View调用了invalidate方法后,会为该View添加一个标记位,同时不断向父容器请求刷新,父容器通过计算得出自身需要重绘的区域,直到传递到ViewRootImpl中,最终触发performTraversals方法,进行开始View树重绘流程(只绘制需要重绘的视图)。

postInvalidate:

postInvalidate是在非UI线程中调用,invalidate则是在UI线程中调用。


相关文章

网友评论

      本文标题:requestLayout、invalidate与postInv

      本文链接:https://www.haomeiwen.com/subject/ophfahtx.html