android view绘制流程(硬件加速)
2022-07-30 18:34:55 12 举报
硬件加速下的绘制流程
作者其他创作
大纲/内容
ThreadedRenderer
renderNode.endRecording();结束记录DisplayList,释放Canvas
draw(boolean fullRedrawNeeded)
draw()的调用
onDraw(canvas)绘制自身
draw(Canvas canvas)
调用View类方法updateDisplayListIfDirty()
drawBackground(canvas)绘制背景色
android的绘制过程分为构建和渲染两个部分。前者由ViewRootImpl操作,构建完成后,交给ThreadedRenderer渲染。此流程图描述的是构建阶段,使用硬件加速构建View树。每一个视图被抽象成一个RenderNode对象,包含DisplayList和渲染属性集,代表渲染的基本单元。和软件绘制不一样,硬件加速绘制中,每一个视图都有自己的Canvas,通过RenderNode获得。
调用方法updateViewTreeDisplayList()
dispatchDraw(canvas);/draw(canvas);使用Canvas绘制View树
dispatchDraw(canvas)绘制子控件
1.在硬件渲染中,每一个View对象都被抽象成一个RenderNode对象,其包含DisplayList和影响渲染的属性集。2
View
1 背景drawable也被抽象成一个renderNode
ViewRootImpl
0 条评论
下一页