美文网首页
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