采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
其实按我之前的理解以及老师的讲述, 我感觉,这个buffer,也就是用于承载绘制内容的一块空间,其实就是个内存空间。
而这个buffer从申请,写入,读取到清空,是怎么在本地app,surfaceFlinger,甚至硬件中(我猜的,也许surfaceFlinger这边就完成了画面的编码了,那硬件就只需要解码了)之间的传递呢。
其实buffer根本没有传递,传递的就是这个内存的地址,或者指向他的具柄,或者序号,总而言之,就是传递了标记而已,压根没传递过这块内存,也不需要传递。
谢谢您的提问,常规的buffer传递方式肯定是不行的,一方面性能不好,另一方面binder的缓冲区也装不下。这里非常巧妙的办法就是只传递了buffer的句柄,到了另一个进程再重新映射一下内存就好了,这样它和原来进程的buffer都能指向相同的物理内存地址。
登录后可查看更多问答,登录/注册
一手助力冲刺Android高级职位,一手把握系统底层原理,理清面试思路,提升技术段位
3.3k 4
1.1k 16
1.1k 8
1.4k 8
1.6k 7
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号