浅谈几种Android 进程间通信

1>使用Bundle,利用Intent传递Bundle数据,最简单的一种,但是Bundle不支持的类型无法进行进程间通信;
2>使用文件共享,两个进程通过读/写同一个文件来交换数据,只适合在对数据同步要求不高的进程间进行通信,还得处理好并发读/写的问题(SharedPreference也是一种,但不建议使用,面对高并发读/写会丢失数据);
3>使用Messenger(底层实现是Binder),Messenger主要作用是为了传递消息,服务端以串行的方式处理客户端发来的消息,如果有大量的并发请求,Messenger就不太合适了,还有如果我们需要跨进程调用服务端的方法,Messenger就无法做到;
4>使用AIDL(需要处理好线程同步):服务端创建一个Service来监听客户端的连接请求,然后创建一个AIDL文件,将暴露给客户端的接口在AIDL文件中声明,最后在Service中实现这个AIDL接口;客户端首先需要绑定服务端的Service,绑定成功后,将服务端返回的Binder对象转成AIDL接口所属的类型,接着就可以调用AIDL中的方法了;
5>使用ContentProvider(底层实现也是Binder),ContentProvider支持对数据源的增删查改四个操作 ,还支持自定义调用,可以通过ContentResolver的Call方法和ContentProvider的Call方法来完成。
6>利用Socket进行进程间通信。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值