android 手机网络代理原理(Android跨进程通信技术-IPC简介)

本文为个人学习笔记分享,没有任何商业化行为,对其他文章的引用都会标记。如有侵权行为,请及时提醒更正!如需转载请表明出处

IPC 是 Inter-Process Communication 的缩写,含义为进程间通讯或者跨进程通信,是指两个进程之间进行数据交换的过程。说起进程通信,我们首先要理解什么是进程,什么是线程,进程和线程是截然不同的概念。

按照操作系统的描述,线程是CPU调度的最小单元,同时线程是一种有限的系统资源。而进程一般指一个执行单元,在PC和移动设备上指一个程序或者一个应用。一个进程可以包含多个线程,因此进程和线程是包含与被包含的关系。最简单的情况下,一个进程中可以只有一个线程,即主线程,在andorid里面主线程也叫UI线程,在线程里才能操作界面元素。很多时候,一个进程中需要执行大量耗时任务,如果这些任务放在主线程执行就会导致界面无法响应,严重影响用户体验,这种情况在PC系统和移动系统中都存在,在Android中有一个特殊的名字ANR(Application Not Responding),即应用无响应。解决这个问题就需要用到线程,把一些耗时的任务放在线程中即可。

android 手机网络代理原理(Android跨进程通信技术-IPC简介)(1)

IPC不是Android特有的,任何一个操作系统都需要有相应的IPC机制,比如Windows上可以通过剪切板、管道和油槽等来进行通信;Linux上可以通过命名管道、共享内存、信号量等来进行进程间通信。对于android来说,不完全继承Linux,相反,他有自己的进程通信方式。在Android中最有特色的进程通信方式就是Binder了,通过Binder可以轻松的实现进程通信。除了Binder外,Android还支持Socket,通过Socket也可以实现两个终端之间的通信,当然同一个设备上两个不同的进程之间也可以通过Socket。

为什么要采用多进程模式?

1.有些模块由于特殊的原因需要运行在单独的进程中。

2.通过多进程可以获取更多份的内存

3.当应用需要获取其他应用的数据。

4.ContentProvider、Service、甚至平时startActivity 都用到了跨进程通信。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页