zoukankan      html  css  js  c++  java
  • Android DevArt6:Android中IPC的六种方式

    Android中IPC的六种方式

    1.使用Bundle

    • 最简单的进程间通信方式:Intent + Bundle;
    • 支持三大组件:Activity、Service、BroadcastReceiver ;
    • 实现了Parcelable接口;
    • 可以传输基本数据类型、实现了Parcelable接口的对象、实现了Serizlizable接口的对象以及一些Android支持的特殊对象;

    特殊场景:从A进程到B进程传输数据,可以从A通过Intent+Bundle启动B中的Service组件(比如IntentService),让Service在后台进行计算,计算完成后再直接启动B中真正要启动的组件,这样,目标组件就可以直接从B中获取结果。详见下图:

    2.使用文件共享

    • 对文件格式没有具体要求,比如说可以试文本文件,也可以是XML文件,只要读/写双方约定数据格式即可;
    • 多线程操作会出现问题,所以说,文件共享方式适合用在对文件数据同步要求不高的进程间通信,并且要妥善处理并发读/写的问题;
    • SharedPreferences是个特例,它是Android提供的轻量级存储方案:
    •   

    3.使用Messenger

      Messenger Demo(GitHub)   

    • 轻量级的IPC方案,底层基于AIDL实现,通过Message在不同的进程间传递消息;
    • 一次处理一个请求,没有并发的情况。

     

    4.使用AIDL

      AIDL文件支持的数据类型:

     

    5.使用ContentProvider

    6.使用Socket

  • 相关阅读:
    移动方法
    linux主编号的动态分配
    linux 分配和释放设备编号
    linux设备编号的内部表示
    linux主次编号
    linux模块参数
    linux scull 的设计
    linux模块加载竞争
    linux清理函数
    linux初始化中的错误处理
  • 原文地址:https://www.cnblogs.com/jooy/p/8920246.html
Copyright © 2011-2022 走看看