Skip to content
阅读进度

如何理解Binder 进程间通信? ​

返回 Framework 与系统服务 目录

标准回答 ​

Binder提供进程间对象调用、身份信息与权限检查基础、引用和死亡通知等机制,AIDL可以把接口转换为代理和服务端分发。远程调用仍会涉及序列化、内核传递、线程调度及服务端工作。

不能把它描述为“没有开销的本地调用”,也不宜仅用固定拷贝次数来概括性能。小而高频的同步调用容易把往返延迟累积到主线程,服务端持锁或线程池耗尽也会拖慢看似简单的API。

优化优先减少不必要调用和数据量,设计合理接口粒度,并处理远端死亡、超时策略和结果状态。

追问与回答 ​

为什么不能在主线程循环调用一千次系统服务 ​

单次即使很短,累计IPC和排队也会阻挡输入与帧回调。考虑批量接口、缓存或在合适线程组织结果。

参考资料 ​

内容来源 ​

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