1. 引言

在 Android中AIDL实现(跨进程通信) 文章中已经谈到了AIDL(跨进程通信)的实现方法,这篇文章将从Java语言层面介绍跨进程通信的

IPC机制(Binder框架),在浏览本篇文章之前应先了解AIDL跨进程通信的实现,本文章是通过分析GingerBread源码得出,哪里写的有

问题请各位指正。

2. 调用流程

(1) 客户端 通过Intent,ServiceConnection及Flags参数调用Context的bindService()方法.

(2) 调用ActivityManagerService的bindService()方法.

(3) 调用ApplicationThread的scheduleCreateService()方法,完成Service类的创建并添加到Map集合。

(4) 调用ApplicationThread的scheduleBindService()方法。

(5) 调用ApplicationThread的handleBindService()方法,在此方法中从Map集合获取Service对象调用onBind()方法,返回服务端

.aidl接口实现类(Binder对象)。

(6) 调用ActivityManagerService的publishService()方法,返回获取到的服务器 端的Binder对象。

(7) 调用LoadedApk的connected()方法,在此方法中调用ServiceConnectiononServiceConnected( ) 方法,根据获取到的服务端

Binder对象,调用客户端 .aidl接口实现类的asInterface(),返回客户端 .aidl接口实现类Proxy,在这个Proxy中调用onTransaction()

方法从已经获取的服 务端 Binder实现类的方法获取数据,供客户端 应用程序使用。

更多相关文章

  1. Android(安卓)AIDL 实现浅析
  2. Google Android(安卓)SDK开发范例大全
  3. Android(安卓)使用Messenger实现跨app通信
  4. 数字签名的案例说明
  5. Android(安卓)8.1 中Systemui中的常见修改(五)长按Home键唤起Googl
  6. [置顶] Android中AIDL实现进程通信(附源码下载)
  7. android:TextView中的文本链接之--链接的几种方式
  8. 如何将打开res raw目录中的数据库文件?
  9. 安卓MonkeyRunner源码分析之与Android设备通讯方式

随机推荐

  1. Android中实现Native与H5的通信方案汇总
  2. android相机调试
  3. Android亮灭屏功能实现
  4. android studio 在windows 7环境下安装
  5. android中ColorStateList及StateListDraw
  6. android对象池之Message
  7. Android Framework 修改设备连接电脑时的
  8. 【Android笔记】探究活动②使用Intent在
  9. Android SVG 兼容低版本API
  10. android studio 删除、导入jar包