创建Layer
书接上回 surfaceControl构造方法。
JNI去创建C层对象
client(surfaceFlinger的代理对象)->createSurfaceChecked
最终就是SurfaceControl 跨进程调用SurfaceFlinger.createLayer
接上回图如是,surface对应layer
有部分是到了creatBUfferQueueLayer
接口操作
第一个方法拿到canvas给view回执,先出队去操作。
一个View对应一个渲染节点。
总体流程
canvas调用管道去绘制draw这个frame,通过渲染引擎将对应内容写到surface上面来。
然后把数据 swapbuffers 也就是入队。
将这个数据传递给SurfaceFlinger
HWC到SurfaceFlinger中间还有点细节看这里