Android进程间通信Binder机制详解.doc


文档分类:IT计算机 | 页数:约203页 举报非法文档有奖
1/203
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/203
文档列表 文档介绍
Android进程间通信-、Android进程间通信(IPC)机制Binder简要介绍和学习计划我们知道,在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而不同的Activity有可能运行在同一个进程中,也可能运行在不同的进程中。这很自然地想到,不在同一个进程的Activity和Service是如何通信的呢?毕竟它们要协作在一起来完成一个完整的应用程序功能。这就是本文中要介绍的Android系统进程间通信机制Binder了。我们知道,Android系统是基于Linux内核的,而Linux内核继承和兼容了丰富的Unix系统进程间通信(IPC)机制。有传统的管道(Pipe)、信号(Signal)和跟踪(Trace),这三项通信手段只能用于父进程与子进程之间,或者兄弟进程之间;后来又增加了命名管道(NamedPipe),使得进程间通信不再局限于父子进程或者兄弟进程之间;为了更好地支持商业应用中的事务处理,在AT&T的Unix系统V中,又增加了三种称为“SystemVIPC”的进程间通信机制,分别是报文队列(Message)、共享内存(ShareMemory)和信号量(Semaphore);后来BSDUnix对“SystemVIPC”机制进行了重要的扩充,提供了一种称为插口(Socket)的进程间通信机制。若想进一步详细了解这些进程间通信机制,建议参考Android学习启动篇一文中提到《Linux内核源代码情景分析》一书。但是,Android系统没有采用上述提到的各种进程间通信机制,而是采用Binder机制,难道是因为考虑到了移动设备硬件性能较差、内存较低的特点?不得而知。Binder其实也不是Android提出来的一套新的进程间通信机制,它是基于OpenBinder来实现的。,。现在OpenBinder的作者DianneHackborn就是在Google工作,负责Android平台的开发工作。前面一再提到,Binder是一种进程间通信机制,和CORBA分布式组件架构,通俗一点,其实是提供远程过程调用(RPC)功能。从英文字面上意思看,Binder具有粘结剂的意思,那么它把什么东西粘结在一起呢?在Android系统的Binder机制中,由一系统组件组成,分别是Client、Server、ServiceManager和Binder驱动程序,其中Client、Server和ServiceManager运行在用户空间,Binder驱动程序运行内核空间。Binder就是一种把这四个组件粘合在一起的粘结剂了,其中,核心组件便是Binder驱动程序了,ServiceManager提供了辅助管理的功能,Client和Server正是在Binder驱动和ServiceManager提供的基础设施上,进行Client-Server之间的通信。ServiceManager和Binder驱动已经在Android平台中实现好,开发者只要按照规范实现自己的Client和Server组件就可以了。说起来简单,做起难,对初学者来说,Android系统的Binder机制是最难理解的了,而Binder机制无论从系统开发还是应用开发的角度来看,都是Android系统中最重要的组成,因此,很有必要深入了解Binder的工作方式。要深入了解Binder的工作方式,最好的方式莫过于是阅读Binder相关的源代码了,Linux的鼻祖LinusTorvalds曾经曰过一句名言RTFSC:ReadTheFuckingSourceCode。虽说阅读Binder的源代码是学习Binder机制的最好的方式,但是也绝不能打无准备之仗,因为Binder的相关源代码是比较枯燥无味而且比较难以理解的,如果能够辅予一些理论知识,那就更好了。闲话少说,网上关于Binder机制的资料还是不少的,这里就不想再详细写一遍了,强烈推荐下面一篇文章:AndroidBinder设计与实现–设计篇Android深入浅出之Binder机制一文从情景出发,深入地介绍了Binder在用户空间的三个组件Client、Server和ServiceManager的相互关系,AndroidBinder设计与实现一文则是详细地介绍了内核空间的Binder驱动程序的数据结构和设计原

Android进程间通信Binder机制详解 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数203
  • 收藏数0 收藏
  • 顶次数0
  • 上传人分享精品
  • 文件大小0 KB
  • 时间2016-02-02