Android跨进程通信IPC

简介

IPC即跨进程通讯。
Android中特色的跨进程通讯方式就是Binder,通过Binder可以轻松的实现进程间的通讯。
Binder是Android中的一个类,实现了IBinder接口,是客户端和服务端进行通讯的媒介。(对于Binder,哥们目前实在是有心无力,先只分析学习跨进程的上层原理吧。)
通过bindService,服务端会返回实例化了的包含了服务端业务调用的Binder对象,通过这个Binder对象客户端就可以去调用服务端内的方法。

使用场景

  • 为了加大一个应用可使用的内存所以需要多进程来获取更多份的内存空间。Android对单个应用的内存做了最大限制,早期有16M,后面也有64M,不同设备有不同的大小。
  • 一个app需要其他app提供的数据,由于是两个app,所以必须采用跨进程的方式来获取数据。

前期准备

Parcelable和Serializable

AIDL

AIDL使用实例

.aidl生成文件分析

AIDL整体代码流程

AIDL使用进阶

Messenger

Messenger使用实例

Messenger源码分析

bindService()

你可能感兴趣的:(Android跨进程通信IPC)