IPC(Inter-Process Communication)为进程间通信或跨进程通信,是指两个进程进行进程间通信的过程。
在Android中,为每一个应用程序都分配了一个独立的虚拟机,不同虚拟机在内存分配上都有不同的地址空间,互相访问数据需要借助其他手段。
Android进程通信的方式
1.AIDL通信
2.ContentProvider
3.BroadcastReceiver
4.Bundle
5.文件共享
6.Messenger
7.Socket
- Bundle:四大组件间的进程间通信方式,简单易用,但传输的数据类型受限。
- 文件共享: 不适合高并发场景,并且无法做到进程间的及时通信。
- Messenger: 数据通过Message传输,只能传输Bundle支持的类型,不涉及方法调用,也不需要高并发。
- ContentProvider:android 系统提供的,简单易用,但使用受限,只能根据特定规则访问数据,主要是数据的 CRUD。
- AIDL:功能强大,支持实时通信,但使用稍微复杂。
- Socket:网络数据交换的常用方式。