1 Android 进程间通讯——Binder原理(C++层)案例.docx

1 Android 进程间通讯——Binder原理(C++层)案例.docx

Linux已经拥有管道、消息队列/共享内存/信号量、socket等IPC手段,为什么还要开发Binder这种进程间通讯方式?(Binder设计的需求是什么?)(使用Client-Server的通信方式有利于Android应用开发)基于Client-Server的通信方式广泛应用于从互联网和数据库访问到嵌入式手持设备内部通信等各个领域。智能手机平台特别是Android系统中,为了向应用开发者提供丰富多样的功能,这种通信方式更是无处不在,诸如媒体播放,视音频频捕获,到各种让手机更智能的传感器(加速度,方位,温度,光亮度等)都由不同的Server负责管理,应用程序只需做为Client与这些Server建立连接便可以使用这些服务,花很少的时间和精力就能开发出令人眩目的功能。Client-Server方式的广泛采用对进程间通信(IPC)机制是一个挑战。目前linux支持的IPC包括传统的管道,System V IPC,即消息队列/共享内存/信号量,以及socket中只有socket支持Client-Server的通信方式。当然也可以在这些底层机制上架设一套协议来实现Client-Server通信,但这样增加了系统的复杂性,在手机这种条件复杂,资源稀缺的环境下可靠性也难以保证。另一方面是传输性能。socket支持Client-Server的通信方式,但其传输效率低,开销大,主要用在跨网络的进程

文档评论(0)

1亿VIP精品文档

相关文档