美文网首页
对Binder的实现原理的理解

对Binder的实现原理的理解

作者: 大盗海洲 | 来源:发表于2019-06-16 11:22 被阅读0次

写给 Android 应用工程师的 Binder 原理剖析
简单理解Binder机制的原理

aidl

Android aidl Binder框架浅析

android 进程间通信原理

  • IBinder是一个接口,它代表了一种跨进程传输的能力;只要实现了这个接口,就能将这个对象进行跨进程传递;这是驱动底层支持的;在跨进程数据流经驱动的时候,驱动会识别IBinder类型的数据,从而自动完成不同进程Binder本地对象(Server端)以及Binder代理对象(Client获取的Proxy)的转换。
  • IInterface代表的就是远程server对象具有什么能力, 表示client与server端的调用契约。具体来说,就是aidl里面的接口。
  • Java层的Binder类,代表的其实就是Binder本地对象。BinderProxy类是Binder类的一个内部类,它代表远程进程的Binder对象的本地代理;这两个类都继承自IBinder,因而都具有跨进程传输的能力;实际上,在跨越进程的时候,Binder驱动会自动完成这两个对象的转换。
  • 在使用AIDL的时候,编译工具会给我们生成一个Stub的静态内部类;这个类继承了Binder,说明它是一个Binder本地对象,它实现了IInterface接口,表明它具有远程Server承诺给Client的能力;Stub是一个抽象类,具体的IInterface的相关实现需要我们手动完成,这里使用了策略模式。

相关文章

网友评论

      本文标题:对Binder的实现原理的理解

      本文链接:https://www.haomeiwen.com/subject/vbgwfctx.html