android aidl的使用

通过aidl编译的java可以看到里面主要有三部分内容:

1. 一个静态抽象内部类Stustub。在service中,生成的静态抽象类创建了一个Binder对象,实现了其中有关计算的业务方法,并在onBind方法中返回它在负责与clientBinder进行通信交互的同时,它也维护了service描述符与服务端service的映射。

2. stub内部的proxy,这个类用来与server通讯,引用的是内核中binder实体,它是跨进程通讯的所以并不是server端onBind创建的那个binder,若是本地service则是同一个binder。之后client就通过这个proxy调用server的interface,所有的调用均是阻塞的,直到server返回

3.server中用户要实现的抽象interface,真正的执行方法

猜你喜欢

转载自blog.csdn.net/cys861214/article/details/76577842