Binder机制是如何跨进程的?

50 阅读1分钟

我们的发送方可以通过copy_from_user把数据拷贝到内核空间。而发送方的内核空间和接收方的用户空间通过mmap是映射到同一块物理空间,所以相当于直接拷贝到接收方的用户空间,所以这个过程只发生了一次拷贝。

描述AIDL生成的JAVA类细节

可以把AIDL想象成一个中介,或者黄牛。 1.客户端准备发送的数据放到data里面。

服务端准备返回的数据放到reply里面。

2.调用mremote.transact后,这里分两种情况,1 同步情况(客户端就会挂起。) 2.异步情况。一般情况下都是同步。

3.之后就会到stub里。用方法id,来找方法。