您的位置:首页 > 移动开发 > Android开发

Android进程间通信(IPC)机制Binder简要介绍和学习计划

2016-05-25 22:02 537 查看
Android进程间通信(IPC)机制Binder简要介绍和学习计划:http://blog.csdn.net/luoshengyang/article/details/6618363

大致阅读后的印象记录:

一、Linux系统层面

主要就是Client与Server两个进程需要通信。

为了实现通信,使用Binder实体映射到具体的物理内存空间,然后使用Service Manager作为守护进程去管理Binder实体。为Client和Server提供服务接口。

Server通过ServierManager::addService可以将自己的服务启动起来。

Client通过ServiceManager::getService获得Server的服务。



   1. Client、Server和Service Manager实现在用户空间中,Binder驱动程序实现在内核空间中

        2. Binder驱动程序和Service Manager在Android平台中已经实现,开发者只需要在用户空间实现自己的Client和Server

        3. Binder驱动程序提供设备文件/dev/binder与用户空间交互,Client、Server和Service Manager通过open和ioctl文件操作函数与Binder驱动程序进行通信

        4. Client和Server之间的进程间通信通过Binder驱动程序间接实现

        5. Service Manager是一个守护进程,用来管理Server,并向Client提供查询Server接口的能力


二、应用程序框架层(Application Framewo)的Java接口实现

主要就是利用Java的JNI调用将前面所述的Linux系统下的进程间通信机制,当做运行库来进行进程间通信。

      即:应用程序框架中的基于Java语言的Binder接口是通过JNI来调用基于C/C++语言的Binder运行库来为Java应用程序提供进程间通信服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: