参考文章:解析Binder框架 - 简书
系统源码:Android 12(S)
1.Android常见的通信方式有哪些:
bundle(组件通信)
provider
Broadcast
AIDL
首先看看provider的通信的实现 以 query的方法进行查询为例:
ContentResolver.query->IContentProvider.query(这里的IContentProvider实际上是一个binder对象 最终都是通过binder通信实现的query查询)
可以看出provider的查询过程也是依赖binder的 client发起查询请求 通过binder调用server端同名方法 返回结果
Binder机制:
1.为什么Android分为用户空间和内核空间(内核态与用户态):
2.Binder驱动模块:
内核本身支持管道等通讯方式,但是并不支持binder。因此bidner作为一个