1. 从 IPC 角度来说:Binder 是 Android 中的一种跨进程通信方式,该通信方式在 linux 中没有,是 Android 独有; 2. 从 Android Driver 层:Binder 还可以理解为一种虚拟的物理设备,它的设备驱动是 / dev/binder; 3. 从 Android Native 层:Binder 是创建 Service Manager 以及 BpBinder/BBinder 模型,搭建与 binder 驱动的桥梁; 4. 从 Android Framework 层:Binder 是各种 Manager(ActivityManager、WindowManager 等)和相应 xxxManagerService 的桥梁; 5. 从 Android APP 层:Binder 是客户端和服务端进行通信的媒介,当 bindService 的时候,服务端会返回一个包含了服务端业务调用的 Binder 对象,通过这个 Binder 对象,客户端就可以获取服务端提供的服务或者数据,这里的服务包括普通服务和基于 AIDL 的服务。
评论