Android 进程通讯机制之Binder(信使)架构以及内存映射详解

本文详细解析了Android中Binder作为进程间通信(IPC)机制的工作原理,包括服务注册、获取及使用过程。阐述了Binder类、Stub类、IInterface接口及其实现,以及Binder与内存映射mmap在提升通信效率中的作用。同时,文章提醒开发者关注技术体系的系统性和完整性,以提升职业发展。
摘要由CSDN通过智能技术生成
注册服务

Server进程 通过Binder驱动 向 Service Manager进程 注册服务

注册服务后,Binder驱动持有 Server进程创建的Binder实体

Binder binder = new Stub();

// 步骤1:创建Binder对象 ->>分析1

// 步骤2:创建 IInterface 接口类 的匿名类

// 创建前,需要预先定义 继承了IInterface 接口的接口 -->分析3

IInterface plus = new IPlus(){

// 确定Client进程需要调用的方法

public int add(int a,int b) {

return a+b;

}

// 实现IInterface接口中唯一的方法

public IBinder asBinder(){

return null ;

}

};

// 步骤3

binder.attachInterface(plus,“add two int”);

// 1. 将(add two int,plus)作为(key,value)对存入到Binder对象中的一个Map<String,IInterface>对象中

// 2. 之后,Binder对象 可根据add two int通过queryLocalIInterface()获得对应IInterface对象(即plus)的引用,可依靠该引用完成对请求方法的调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值