美文网首页Android开发
浅谈IPC通信之各方式对比使用及场景(四)

浅谈IPC通信之各方式对比使用及场景(四)

作者: Eric_feng | 来源:发表于2017-09-25 13:24 被阅读73次

前边三篇已经讲解了IPC所涉及的内容,现在切入正题了......

Binder机制

androidIPC机制就是Binder机制,是提供远程过程调用(RPC)功能,在Binder机制中,由系统组件组成,分别是Client、Server、Service Manager和Binder驱动程序,其中Client、Server和Service Manager运行在用户空间,Binder驱动程序运行内核空间。Binder就是一种把这四个组件粘合在一起的粘结剂了,其中,核心组件便是Binder驱动程序了,Service Manager是一个守护进程,用来管理Server,并向Client提供查询Server接口的能力,是辅助管理的功能,Client和Server正是在Binder驱动和ServiceManager提供的基础设施上,进行Client-Server之间的通信;

IPC通信方式

1.Bundle:一般用于四大组件间的进程间通信,简单易用
2.文件共享:通过IO方式把数据写到文件里进行通信,需要注意序列化
3.AIDL:AIDL是IPC的一个轻量级实现
4.ContentProvider:ContentProvider相当于为数据存储和获取提供了一个统一的接口
5.Messenger: Messenger本质也是AIDL,只是进行了封装,开发的时候不用再写.aidl文件,所以相对于AIDL较于简单。
6.Socket:一般用来网络数据的交换

各方式对比及使用场景

IPC通信方式对比.png

使用方法(参考demo)

包含所有IPC通信
https://github.com/jackandroid2016/IPCDemo

相关文章

网友评论

    本文标题:浅谈IPC通信之各方式对比使用及场景(四)

    本文链接:https://www.haomeiwen.com/subject/eqbcextx.html