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下对拍(A+B问题)
    洛谷 P1043 数字游戏 区间DP
    6.22 集训--DP复习一
    洛谷 P1220 关路灯 区间DP
    A*算法求K短路模板 POJ 2449
    点分治模板 POJ 1741
    HDU
    棋子游戏 51Nod
    数论习题总结
    CodeForces
  • 原文地址:https://www.cnblogs.com/jooy/p/8920246.html
Copyright © 2011-2022 走看看