IPC机制

Android IPC简介

IPC是Inter-Process Communication 的缩写,含义为进程问通信或者跨进程通信,是指 两个进程之间进行数据交换的过程。说起进程问通信,我们首先要理解什么是进程,什么 ,是线程,进程和线程是截然不同的概念。按照操作系统中的描述,线程是 CPU 调度的最小 单元,同时线程是一种有限的系统资源。而进程一般指一个执行单元,在PC 和移动设备 上指一个程序或者一个应用。一个进程可以包含多个线程,因此进程和线程是包含与被包 含的关系。最简单的情况下, 一个进程中可以只有一个线程,即主线程,在 Android 里面 主线程也叫 UI线程,在U线程里才能操作界面元素。很多时候, 一个进程中需要执行大 量托时的任务,如果这些任务放在主线程中去执行就会造成界面无法响应,严重影响用户 体验,这种情况在 PC 系统和移动系统中都存在,在Android 中有一个特殊的名字叫做 ANR (Applicafion Not Responding),即应用无响应。解决这个问题就需要用到线程,把一些耗时 的任务放在线程中即可。
IPC 不是Android 中所热有的,任何一一个無作系统都需要有相应的 IPC 机制,比加 Hindows上可以通过沙财板、馆遊和跳新等来逝行还程问道偷。Linux 上可以通过俞名铮 道、共率内存、信号品等派过行谜程问湖合。你以不封不同的換作系统平台有粉不同的进 想回证信方式。对子 Android来玩,它是一种基子 Cfeee內校的移动块作系统,它的进有 回通信万式并不能完全继來自 Limux,相反,它有白己的进程问通信方式。在 Android 中数 有街色的进程问通信方式就是 Binder了,通过Bidor奇以轻松地文现进程间通信。除了 Binder: Android还文村 Socket, 通过 Sockor 也司以文现任意两个终端之间的通信,当終同 一个设备上的两个进程通过 Socket 通信自然也是可以的。 
说到 IPC 的使用场款就必领提到至进程,只有面对多进程这种场景下,才需要考虑进 程问通信。这个是很好理解的,如果只有一一个进程在运行,又何谈至进程呢?至进程的情 记分为两种。第一种够况是一个应用肉为菜些原因自身需要买用兰进程模式来实现,至子 原因,可能有很生,比如有些模块由于特殊原肉需安运行在单独的进程中,又或者为了加 大一个应用可使用的内存所以诺要通过至进程来获取我份内存空间。Android 对单个应用所 使用的最大内存做了限制,早期的一些版木可能是16MB,不同设备有不同的大小。另一 种情況是当前应用需要向其他应用获取数据,由于是两个应用,所以必须采用跨进程的方 式来获取所需的数据,甚至我们通过系统提供的 ContentProvider 去查询数据的时候,其实 也是一种进程问通信,只不过通信细节被系统内部屏藏了,我们无法感知而己。后续章节 会详细介绍 ContentProvider 的底层实现,这里就先不做洋细介绍了。总之,不管由于何种 原因,我们采用了至进程的设计方法,那么应用中就必须妥善地处理进程问通信的各种问 题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寂-静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值