美文网首页
android进程间通信(IPC)的多种方式

android进程间通信(IPC)的多种方式

作者: xingkong_hdc | 来源:发表于2018-02-07 14:09 被阅读0次

1.进程与线程

什么是进程,在计算机系统内进程是包括I/O,虚拟内存,处理器在内的一种抽象概念,通常情况下,一个程序就是一个进程。在Android应用程序中可以给四大组件指定android:process属性来创建多进程。

什么是线程,线程是CPU调度的最小单元,是一种有限的系统资源。线程包含在进程内,一个进程可以有多个线程,也可以只有单一线程,即主线程。同一进程内的线程共享代码和数据,而不同进程,处于不同的上下文之间,不能共享内存,所以当需要使用IPC交互数据。

2.android中常见的IPC方式

1.使用Bundle

android四大组件都支持在Intent中传递Bundle数据。由于Bundle实现了Parcelable接口,可以在进程间传输。

2.使用共享文件

共享文件也是一种不错的进程间通信的方式,两个进程通过读写同一个文件来交换数据。主要的共享文件有以下几种(1)xml文件,只要双方约定数据格式即可;(2)SharedPreferences,SharedPreferences是android提供的轻量级存储方案,底层实现上也是采用xml文件来存储键值对

3.使用Messenger

通过messenger可以在不同进程中传递Message对象,在message中放入我们需要传递的数据,就可以轻松实现进程数据传递了。Messenger的底层实现是AIDL。工作原理如下图 

4.使用AIDL

AIDL实现进程间通信,不仅可以传递数据,还可以将好用的方法进行共享。其实现主要分为服务端和客户端两个方面。服务端创建Service来监听客户端的链接请求,然后创建AIDL文件,将暴露给客户端的接口在AIDL中声明,最后在Service中实现AIDL接口。客户端只需绑定服务端的服务,即可调用服务端AIDL中的方法。

5.使用ContentProvider

ContentProvider是android中专门提供的用于不同应用间进行数据共享的方式,ContentProvider的底层实现是Binder。

6.使用socket

Socket也称为套接字,是网络通信中的概念。通过socket进行通信是网络通信的一种方式。

总结

以上是android进行IPC的常见方式,在后续的笔记中将逐一详细分析。

相关文章

  • Binder机制

    进程间通信方式 Android Binder框架图 Android系统框架 IPC 进程通信原理 Binder原理...

  • ipc机制,结合activity的启动

    ipc即进程间通信,inter process communication。 ipc是多种进程间通信的统称而已。 ...

  • 仅限两个App间传递信息方法

    Android 进程间通信有很多方法,比如Android中进程间通信(IPC)方式总结 由于项目需求简单,只是由A...

  • IPC、Window小结

    1、IPC机制 1、Android IPC简介 IPC:含义为进程间通信或者跨进程通信。 2、Android中的多...

  • Android IPC(进程间通信)

    关于Android 进程间通信的基本知识以及Android中进程间通信的方式 IPC简介与基础概念 基础 andr...

  • 知识库 - 收藏集 - 掘金

    Android 进程间通信 AIDL详解 - 掘金最近项目有进程间通信的需求,我使用的是IPC通信的方式,这是An...

  • android进程间通信(IPC)的多种方式

    1.进程与线程 什么是进程,在计算机系统内进程是包括I/O,虚拟内存,处理器在内的一种抽象概念,通常情况下,一个程...

  • AIDL使用

    1、定义 AIDL(Android Interface Define Language) 是IPC进程间通信方式的...

  • Android IPC(一)

    Android IPC IPC简介 IPC即Inter-Process Communication(进程间通信)。...

  • 无标题文章

    Android IPC IPC简介 IPC即Inter-Process Communication(进程间通信)。...

网友评论

      本文标题:android进程间通信(IPC)的多种方式

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