在Android平台中,各个组件运行在自己的进程中,他们之间是不能相互访问的,但是在程序之间是不可避免的要传递一些对象,在进程之间相互通信。为了实现进程之间的相互通信,Android采用了一种轻量级的实现方式来RPC(
Remote Procedure Call)来完成进程之间的通信,并且Android通过接口定义语言AIDL(Android Interface Definition
Language)来生成两个进程之间相互访问的代码。
AIDL是Android的一种接口描述语言:编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目的,如果需要在一个activity中,访问另一个Service中的某个对象,需要先将对象转化成AIDL可识别的参数,然后使用aidl来传递这些参数,在消息的接收端,使用这些参数组装成自己需要的对象。