Skip to content
阅读进度

IPC Binder AIDL Parcel 分别是什么? ​

返回 Framework 与系统服务 目录

标准回答 ​

IPC 是进程间通信的总称;Binder 是 Android 常用的 IPC 机制;AIDL 用接口定义生成调用两端的适配代码;Parcel 是 Binder 等场景中组织传输数据的容器。不同进程的通信都属于 IPC,但不一定使用 Binder。

机制解释 ​

远程同步 Binder 调用会等待服务端处理,主线程发起就可能阻塞 UI。远程服务端调用通常由 Binder 线程池处理;同进程本地接口调用可能直接在调用线程执行。AIDL 并不让线程安全问题自动消失。

延伸追问 ​

自定义对象可以传吗?可以按接口支持的形式进行 Parcelable 等序列化设计,但不是任意 Java 对象都能原样发送。大数据不适合全部塞进事务,应考虑文件描述符、共享内存或分块协议。

内容来源 ​

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