美文网首页
UI绘制流程,源码阅读2

UI绘制流程,源码阅读2

作者: 揾食艰难 | 来源:发表于2019-10-09 21:23 被阅读0次

我们知道了view的添加初始化过程后,接下来继续了解一下view的绘制流程

view的绘制入口是从ActivityThread这个类里面开始的,里面有个handleMessage的handle回调,从里面可以看到LAUNCH_ACTIVITY(不同的版本系统源码可能不一样)下调用了handleLaunchActivity方法

DecorView添加到窗口window的过程:
    ActivityThread: handleResumeActivity()
    WindowManagerImpl: addView()
    WindowManagerGlobal: addView()
    ViewRootImpl: setView()
    ViewRootImpl: requestLayout()
    ViewRootImpl: scheduleTraversals()
    ViewRootImpl: doTraversal()
    ViewRootImpl: performTraversals()
    
    --> view的绘制流程

顺序图如下:

graph LR    
handleResumeActivity-->addView

addView --> setView

setView-->requestLayout

requestLayout --> scheduleTraversals

scheduleTraversals --> doTraversal

doTraversal --> performTraversals

performTraversals --> view绘制流程
在performTraversals后,view绘制流程:
graph LR
performMeasure --> performLayout

performLayout --> performDraw

相关文章

网友评论

      本文标题:UI绘制流程,源码阅读2

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