Skip to content
阅读进度

为什么经常说 Binder 只需要一次数据拷贝? ​

返回 Framework 与系统服务 目录

标准回答 ​

典型 Binder 事务中,驱动把发送端用户空间的事务数据拷入接收端映射的 Binder 缓冲区,因此常被概括为一次驱动数据拷贝,相比常规经过内核中转再复制到接收端的路径,减少了一次复制。但这不代表整次调用完全没有其他复制,参数编解码、Parcel 构造、对象分配和业务处理仍可能增加开销。它也不意味着大图片适合直接塞进 Parcel,大数据更适合共享内存、文件描述符或流式接口。

延伸追问 ​

这个说法描述典型传输路径,不能当作所有 Binder 使用方式的严格总拷贝次数。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。