AIDL

AIDL

概述:它是用于某个service与多个应用程序组件之间进行跨进程通信,从而可以实现多个应用程序共享一个Service的功能,从而进一步实现进程间的通信(也就是一个远程服务)

AIDL的客户端与服务端:

服务端:服务端首先要创建一个service(这个服务的binder继承AIDL接口.stub,重写接口中的所有方法后可以通过传参,或者return语句进行信息的传递)用来监听客户端的连接请求,然后创建一个AIDL文件将暴露给客户端的接口在AIDL说明,最后在Serivce中实现这个AIDL接口

客户端:客户端首先需要创建新的AIDL,并且必须和服务端的AIDL所属的包名一致,要绑定服务器的Service,绑定成功后,将服务器返回的binder对象转换为AIDL接口所属的类型,接着调用AIDL中的方法实现进程间的通信。

可使用的数据类型:八大基本数据类型

String

CharSequence

List中的ArrayList

Map中的HashMap

主要实现的是 Android 的Parcelable接口

 

 

IPC机制

名称

优点

应用场景

Bundle

简单

四大组件

文件共享

简单

数据交换

AIDL

实时通信,支持多并发

多通信,RPC(通过网络从计算器请求数据)

Messenger

实时通信,功能没有AIDL强大低并发

无法进行RPC

ContentProvider

用于访问数据

数据共享

Socket

功能强大,网络传输(通过字节流)

网络数据交换

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值