文章标题

来源:互联网 发布:ise女装官网淘宝网 编辑:程序博客网 时间:2024/06/02 03:14

AIDL实现IPC(进程间通信)
Android Interface Definition Language(Android接口定义语言)
由于Android没有一个进程间共享的内存区域,通过AIDL可以实现进程间的通信
AIDL实现IPC的流程:
1. 在远程服务端定义aidl文件 ,定义好比接口定义,系统工具会自动生成相应的java接口
2. 在服务端的Service中继承该接口的Stub类,作为远程服务的代理对象
3. 在客户端中先拷贝服务端的aidl文件,并且放在与服务端包名一致的包下面
4. 在客户端通过ServiceConnetion来获得远程服务的代理对象,实现远程进程通信
5. 在服务端对Service设置IntentFileter,用于远程组件的调用
6. AIDL是线性安全的,由框架来维护其线性安全

服务端
这里写图片描述
客户端
这里写图片描述

MusicService:
这里写图片描述
这里写图片描述
这里写图片描述

AIDLService.aidl:
这里写图片描述

AndroidManifest.xml:
这里写图片描述

这里写图片描述

RemoteActivity:
这里写图片描述
这里写图片描述
这里写图片描述

0 0
原创粉丝点击