Binder通信是一种Client-Server的通信结构,从表面上来看,是Client通过获得一个Server的代理接口对Server进行调用。实际上,代理接口中定义的方法与Server中定义的方法是一一对应的。Client调用某个代理接口中的方法时,代理接口的方法会将Client传递的参数打包成Parcel对象。代理接口将该Parcel发送给内核中的Binder Driver。Server会读取Binder Driver中请求的数据,如果是发送给自己的,则解包Parcel对象,处理并将结果返回。整个调用过程是一个同步的过程,在Server处理时,Client会被阻塞。
Binder基本概念
2024-02-26 23:37:40