美文网首页
(二)IPC机制

(二)IPC机制

作者: YongtaoHuang | 来源:发表于2019-08-29 17:46 被阅读0次

    2.1 Android IPC简介

    IPC是Inter-Process Communication的缩写,含义是进程间通信,指两个进程之间进行数据交换的过程。

    进程:一般指一个执行单元,在PC和移动设备上指一个程序或应用。
    线程:CPU调度的最小单元。线程是一种有限的系统资源。
    一个进程拥有多个线程

    不同的操作系统有不同的IPC方式
    Windows:通过剪切板、管道、油槽等进行进程间通讯。
    Linux:通过命名空间、共享内容、信号量等进行进程间通讯。
    Android:没有完全继承Linux,比如,其独具特色的通讯方式有Binder、Socket等等。

    2.2 Android中的多进程模式

    2.2.1 开启多进程模式

    开启多进程模式:
    1、(不常用)通过JNI在native层fork一个新的进程。
    2、(常用)在AndroidMenifest中给四大组件指定属性android:process
    Android系统会为每个应用分配一个唯一的UID,具有相同的UID的应用才能共享数据。

    2.2.2 多进程模式的运行机制

    所有运行在不同进程中的四大组件,只要它们之间需要通过内存来共享数据,都会共享失败(不同的虚拟机中访问同一个类的对象会产生多个副本),这也是多进程所带来的影响。
    多进程会造成如下几个方面的问题:
    (1)静态成员和单例模式完全失效
    (2)线程同步机制完全失效
    (3)SharedPreferences的可靠性下降
    (4)Application会多次创建
    为了解决这个问题,系统提供了很多跨进程通信方法,虽然不能直接地共享内存,但是通过跨进程通信我们还是可以实现数据交互。

    2.3 IPC基础概念介绍

    2.3.1 Serializable接口

    2.3.2 Parcelable接口

    2.3.3 Binder

    2.4 Android中的IPC方式

    2.4.1 使用Bundle

    2.4.2 使用文件共享

    2.4.3 使用Messenger

    2.4.4 使用AIDL

    2.4.5 使用ContentProvider

    2.4.6 使用Socket

    2.5 Binder连接池

    2.6 选用合适的IPC方式

    相关文章

      网友评论

          本文标题:(二)IPC机制

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