美文网首页
AndroidIPC跨进程通讯(一)

AndroidIPC跨进程通讯(一)

作者: 没有了遇见 | 来源:发表于2023-07-28 20:53 被阅读0次

1.Android IPC 简介

IPC:Inter-Process Communication 进程间通信,不同进程间进行数据交换.

进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配基本单位,是操作系统结构的基础

在Android系统中,由于每个进程间内存隔离,导致每个进程间不能直接进行数据交互,这个时候多个进程需要数据交互的时候就用到了今天所说的IPC(进程间通讯).

2.IPC进程交互的方式

  • AIDL:Android Interface Definition Language 安卓接口定义语言(底层是Binder)

  • ContentProvider 内容提供者
    ContentProvider(内容提供者)是Android中的四大组件之一,为了在应用程序之间进行数据交换,Android提供了ContentProvider,ContentProvider是不同应用之间进行数据交换的API,一旦某个应用程序通过ContentProvider暴露了自己的数据操作接口,那么不管该应用程序是否启动,其他应用程序都可以通过接口来操作接口内的数据,包括增、删、改、查等。ContentProvider分为系统的和自定义的,系统的也就是例如联系人,图片等数据

  • Broadcast
    BroadcasReceivert本质上是一个系统级的监听器,他专门监听各程序发出的Broadcast,因此他拥有自己的进程,只要存在与之匹配的Intent被广播出来,BroadcasReceivert总会被激发

  • Socket
    Socaket也是实现进程间通信的一种方式,Socaket也成为“套接字”,是网络通信中的概念,通过Socaket我们可以很方便的进行网络通信,都可以实现网络通信录,那么实现跨进程通信不是也是相同的么

多进程实现之Binder机制

Binder 是一个Android系统定义的一个类 实现了IBinder接口.IBinder 封装了进程通讯的协议(RPC协议)

相关文章

网友评论

      本文标题:AndroidIPC跨进程通讯(一)

      本文链接:https://www.haomeiwen.com/subject/btnrpdtx.html