1 / 24
文档名称:

Android的IPC通讯.pptx

格式:pptx   大小:209KB   页数:24页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Android的IPC通讯.pptx

上传人:iris028 2020/4/14 文件大小:209 KB

下载得到文件列表

Android的IPC通讯.pptx

相关文档

文档介绍

文档介绍: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();}