AIDL流程图
2016-05-23 15:13:40 0 举报
AIDL(Android Interface Definition Language)是一种用于定义 Android 应用程序组件之间通信接口的语言。它允许在不同的进程或设备上运行的应用程序之间进行通信。 在 AIDL 中,首先需要定义一个接口,该接口描述了客户端和服务器端之间的通信协议。然后,客户端和服务器端都需要实现这个接口,以便它们能够相互通信。 当客户端想要调用服务器端的方法时,它会创建一个代理对象,并通过该对象向服务器端发送请求。服务器端收到请求后,会执行相应的方法,并将结果返回给客户端。
作者其他创作
大纲/内容
onServiceConnected等待连接远程的Binder对象
End
BinderProxy执行transactNative()
当前进程处于挂起的状态,等待数据响应
Binder驱动:唤醒远程Binder对象ComputeBinder,并调用onTransact函数:
ICompute.Stub执行onTransact()
真正的服务端Binder对象ComputeBinder,执行add()方法,将结果值写入响应数据:reply.writeInt(_result)
Client进程
读取请求数据:int _arg0 = data.readInt();int _arg1 = data.readInt();
挂起
Binder驱动:返回远程Binder对象的代理对象BinderProxy
获取响应结果:_result = _reply.readInt();
Server进程
Start
bindService
0 条评论
下一页