白羊座小叔
模拟电子技术--analogy technetronic数字电子技术,--digital technetronic高频电路,--high frequency circuit通信原理,--communication theory移动通信,--mobile communication课程--course
edward1015
从而全方位地介绍 Binder ,希望你们会喜欢。
在本文的讲解中,按照 大角度 -> 小角度 去分析 Binder ,即:
从而全方位地介绍 Binder ,希望你们会喜欢。
在讲解 Binder 前,我们先了解一些 Linux 的基础知识
具体请看文章: 操作系统:图文详解 内存映射
Binder 跨进程通信机制 模型 基于 Client - Server 模式
此处重点讲解 Binder 驱动作用中的跨进程通信的原理:
原因:
所以,原理图可表示为以下:
所以,在进行跨进程通信时,开发者只需自定义 Client & Server 进程 并 显式使用上述3个步骤,最终借助 Android 的基本架构功能就可完成进程间通信
注册服务后, Binder 驱动持有 Server 进程创建的 Binder 实体
此时, Client 进程与 Server 进程已经建立了连接
Client 进程 根据获取到的 Service 信息( Binder 代理对象),通过 Binder 驱动 建立与 该 Service 所在 Server 进程通信的链路,并开始使用服务
步骤1: Client 进程 将参数(整数a和b)发送到 Server 进程
步骤2: Server 进程根据 Client 进要求 调用 目标方法(即加法函数)
步骤3: Server 进程 将目标方法的结果(即加法后的结果)返回给 Client 进程
对比 Linux ( Android 基于 Linux )上的其他进程通信方式(管道、消息队列、共享内存、 信号量、 Socket ), Binder 机制的优点有:
特别地,对于从模型结构组成的Binder驱动来说:
不定期分享关于 安卓开发 的干货,追求 短、平、快 ,但 却不缺深度 。
优质英语培训问答知识库