Android知识

浅谈IPC通信之概念(一)

2017-09-25  本文已影响50人  Eric_feng

什么是IPC通信

IPC(Inter-Process Communication) 进程间通信,是指两个不同进程之间数据交换的过程。

线程

CPU可调度的最小单位,是程序执行流的最小单元;线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

进程

一个执行单元,在PC 和移动设备上一般指一个程序或者应用,一个进程可以包含多个线程。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。

在Android程序中,一般情况下一个程序就是一个进程(在无特别的代码实现下),UI线程即主线程。如果有耗时操作,则会导致主线程堵死。而在Android中主线程负责UI,和用户交互,如果堵塞UI线程会影响用户体验。所以Android要求要将耗时操作放在子线程中执行。

IPC 使用场景

程序因为自身原因,需要采用多进程模式来实现。有些模块由于特殊原因需要运行运行在单独的进程中。
为了加大一个应用可使用的内存所以需要通过多进程来获取内存空间。

当前应用需要向其他应用获取数据。由于是两个应用,即两个进程。

在Android 中,每一个应用可使用的内存大小有限制,早起的一些版本在16M左右,不同的设备有不同的大小。可以通过多进程获取多份内存空间。

上一篇下一篇

猜你喜欢

热点阅读