传递buffer太过累赘的疑问

来源:6-3 surface跨进程传递原理

全是甘货

2019-05-04

好吧,哪怕传递buffer太过累赘,在View需要更新,需要请求buffer的时候,仅传递这个GraphicBufferProducer是可行的,可是View在onDraw的时候,总得把要绘制的东西都写在buffer 里面呀,然后还得把这个buffer给到surfaceFlinger去合成呀,那写满了内容的buffer,又是如何跨进程从我们的Application传递到SurfaceFlinger的呢?请老师解答一下。谢谢~!

写回答

1回答

风语

2019-05-04

谢谢您的提问,这个问题呢我在下一节课讲surface绘制原理的时候就会提到了,buffer缓冲区本身是没有跨进程传递的,传递的只是一个句柄,然后再映射到进程的内存空间,这样能保证两个进程中的buffer是指向同一块物理内存的。

0
0

剖析Framework面试 冲击Android高级职位

一手助力冲刺Android高级职位,一手把握系统底层原理,理清面试思路,提升技术段位

1406 学习 · 187 问题

查看课程