android进程间通信(IPC)的多种方式
来源:互联网 发布:检查网络是否丢包 编辑:程序博客网 时间:2024/05/01 07:55
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的常见方式,在后续的笔记中将逐一详细分析。
- android进程间通信(IPC)的多种方式
- Android进程间通信(IPC)常用方式
- android实现进程间通信(IPC)的方式
- 进程间的通信方式(IPC)
- IPC进程通信的方式
- Android的IPC(进程间通信)机制
- Android的IPC机制(进程间通信)
- Android进程间通信方式总结(IPC)
- Android中进程间通信(IPC)方式总结
- Android中进程间通信(IPC)方式总结
- Android中进程间通信方式(IPC)
- Android中进程间通信(IPC)方式总结
- Android IPC进程通信 Messager方式
- Android IPC进程通信之Messager方式
- 进程通信 IPC方式
- android-IPC进程间通信
- android IPC进程间通信
- Android IPC 进程间通信
- (转)关于MFC中如何使用CEF内核(CEF初解析)
- 移动app性能测试工具:Emmagee使用介绍
- iOS开发
- mysql数据库tinyint数据取出0和1的方法
- Angular 绑定语法简介
- android进程间通信(IPC)的多种方式
- 演示多数据源分布式事务的最小化Springboot Web应用
- 学习effective c++小感悟
- Python-select详解(select、epoll)
- win10 ping不通解决方案
- 删除Linux centos系统下jdk
- 转载:使用Fiddler导致乱码解决方案.
- SVN分支/合并原理及最佳实践
- SpringBoot入门-9(springboot配置thymeleaf模板)