安卓架构师开发进阶

2018-01-30Binder机制

2018-01-30  本文已影响17人  默默_大魔王

为什么使用binder,binder是一种跨进程通信机制。

部分参考该文章:https://www.jianshu.com/p/bdef9e3178c9

从下往上依次为

内核层:Linux 内核和各类硬件设备的驱动,这里需要注意的是,Binder IPC 驱动也是在这一层实现,比较特殊

硬件抽象层:封装「内核层」硬件驱动,提供可供「系统服务层」调用的统一硬件接口

系统服务层:提供核心服务,并且提供可供「应用程序框架层」调用的接口

Binder IPC 层:作为「系统服务层」与「应用程序框架层」的 IPC 桥梁,互相传递接口调用的数据,实现跨进层的通讯

应用程序框架层:这一层可以理解为 Android SDK,提供四大组件,View 绘制体系等平时开发中用到的基础部件

1,Android使用的linux内核,应用了很多跨进程通信

2,binner性能比较高

3,安全性比较高。

Binder IPC 属于 C/S 架构,包括 Client、Driver、Server 三个部分

Client 可以手动调用 Driver 的 transact 接口,也可以通过 AIDL 生成的 Proxy 调用

Server 中会启动一个「线程池」来处理 Client 的调用请求,处理完成后将结果返回给 Driver,Driver 再返回给 Client。

上一篇 下一篇

猜你喜欢

热点阅读