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