Androd的IPC通信(二)
来源:互联网 发布:大数据下的中国 编辑:程序博客网 时间:2024/06/06 12:38
IPC的IBinder接口--定义与实现
1. Android架构的沟通依赖单一的IBinder接口,此时,IPC的Client端调用IBinder的transact()函数,透过IPC机制而调用到远程(remote)的onTransact()函数。
2. IBinder定义了一些函数,可以让Client跨进程地调用,最主要的是transact()函数。
3. IBinder接口的实现。基于这个IBinder的定义档,我们可以开发类来实现它,并在其他的APP中进行使用,实现进程间的调用。在Android框架中,也基于这个接口类实现了Binder和ProxyBinder基类来实现进程间通信。
Java层的Binder基类定义
基类Binder的很重要的目的是支持跨进程调用Service, 既允许远程的Client跨进程调用某个Service。
Java层的BinderProxy基类的定义
当我们看到xxxxProxy的定义时,就应该想到,它是摆在Client端进程里,作为Service端的分身。
由于跨进程沟通是时,不是从Java层直接调用的,而是通过底层的Binder Driver驱动来沟通的,所以Client端必须通过Proxy的IBinder接口,转而调用JNI本地模块来衔接到底层BinderDriver的驱动服务,进而调用到在另一个进程中运行的Service。
当Client透过IBinder接口而调用到BinderProxy的transact()函数时,就调用到JNI本地的transact()函数,进而衔接到底层BinderDriver驱动服务。
- Androd的IPC通信(二)
- Android IPC 通信 (二)
- Android IPC 通信 (二)
- Androd乐园(二)
- 细说linux IPC(二):基于socket的进程间通信(下)
- 细说linux IPC(二):基于socket的进程间通信(下)
- 深入理解Linux进程间通信(IPC)(二) - 杰栗的部落格
- 微服务指南走北(二):微服务架构的进程间通信(IPC)
- Linux C 进程间的IPC通信 之 共享内存(二)
- Androd Toolbar 的简单使用二
- 进程间的通信(ipc)
- 进程间的通信(ipc)
- Linux的进程通信(IPC)
- Linux的进程通信(IPC)
- Linux的进程通信(IPC)
- Linux的进程通信(IPC)
- Linux进程通信(IPC)的方式
- Linux进程间通信IPC(二)-- FIFO
- 7 Strace Examples to Debug the Execution of a Program in Linux
- jQuery Ajax 实例
- 机房收费系统之结账
- 【Java】-基础-数据库操作
- poj3159(spfa)
- Androd的IPC通信(二)
- 分享一些不错的学习IOS资源网站
- 数据结构中排序方法基本概念 及 分类
- 黑马程序员——IDE&Object类、常用API-String类、常用API-Arrays、System、StringBuffer&Integer类和Date类、对象数组
- poj1734Sightseeing trip floyd最小环
- 汤姆猫实现代码
- Lowest Common Ancestor of a Binary Tree
- HDU 1542 Atlantis(线段树扫描线,面积并)
- Alex / OverFeat / VGG 中的卷积参数