文档介绍:IPC通讯(Inter-munication)什么是IPC? IPC(Inter-munication),即跨越两个不同进程进行通讯的机制。为什么使用IPC? 在一个复杂的应用系统中,通常会使用多个相关的进程来共同完成一项任务,因此要求进程之间必须能够互相通信,共享资源。所以,操作系统必须提供进程间的通信机制(IPC)。常用的IPC方式有:命名管道(namedpipe)、消息队列(messagequeue)、socket. android中采用的是Binder方式。Binder用处Android系统中ActivityServicebinder客户端服务端Android的Binder是一个C/S架构Binder系统架构Binder通讯流程1)客户端获得服务端的代理对象2)客户端通过代理对象发送请求3)代理对象将请求通过binder驱动发送到服务器进程4)服务器进程处理用户请求并通过binder驱动返回结果5)客户端收到返回的结果注意:这是一个同步的过程!IPCBinder的使用--java层--c++层Binder机制<<Interface>>IBinderBpBinderBBinder<<Interface>>IBinderBinderProxyBinderJavabinder定义:frameworks/base/core/java/android/osC++binder定义:frameworks/base/includes/binderBinder驱动定义:kernel/--java层--c++层IPC-Binder的使用–-java层simpleexample:{ StringgetCurrentDateTime();}{ ... implementsIDateTimeService{ .... publicstaticIDateTimeServiceasInterface() {....} publicbooleanonTransact(intcode, data,,intflags){…} lassProxyimplementsIDateTimeService{ ; ...} publicStringgetCurrentDateTime(){(..);} } } publicStringgetCurrentDateTime();}