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

  • 相关阅读:
    Ajax调用WCF报405错误
    字符串转json方法
    正则取括号里面的内容
    string[] 转int[] 的方法
    C# 中结构与类的区别
    通用的权限模块是如何设计的?
    .net打包自动安装数据库!
    VS.net 2005快捷键一览表
    Windows Forms DataGridView 中合并单元格
    VS2005 制作安装程序
  • 原文地址:https://www.cnblogs.com/jooy/p/8920246.html
Copyright © 2011-2022 走看看