最近一段时间一直在学习Android 的binder通信,期间看了许多相关的Android书籍和博客,对其Android的跨进程通信原理也有了比较清楚的认识,但是总有些觉得不能把他们串联起来。直到现在把源码对照看了一次后才有点恍然大悟的感觉。 这里我就不详细的去介绍binder了,只记录一下我...
分类:
移动开发 时间:
2015-05-08 20:03:50
阅读次数:
194
在上一篇博客中Android源码分析–MediaServer源码分析(一),我们知道了ProcessState和defaultServiceManager,在分析源码的过程中,我们被Android的Binder通信机制中的各种复杂的类关系搞的眼花缭乱,接下来我们就以MediaPlayerService为例来分析一下Binder的通信机制。首先来回顾一下:
BpBinder和BBinder都是Andr...
分类:
移动开发 时间:
2015-03-29 12:21:59
阅读次数:
312
1.Binder通信机制介绍这篇文章会先对照Binder机制与Linux的通信机制的区别,了解为什么Android会另起炉灶,採用Binder。接着,会依据Binder的机制,去理解什么是Service Manager,在C/S模型中扮演什么角色。最后,会从一次完整的通信活动中,去理解Binder通...
分类:
其他好文 时间:
2015-03-12 09:40:27
阅读次数:
122
“Binder通信是同步而不是异步的”,但是在实际使用时,是设计成客户端同步而服务端异步。看看Framwork层的各service类java源码便会知道,在客户端调用服务端的各种方法时,通常会传递一个Binder过来,该Binder对象用于服务端做异步回调,而服务端本身会使用handler或队列的方...
分类:
移动开发 时间:
2014-12-04 17:34:11
阅读次数:
198
1.Binder通信机制介绍这篇文章会先对照Binder机制与Linux的通信机制的区别,了解为什么Android会另起炉灶,採用Binder。接着,会依据Binder的机制,去理解什么是Service Manager,在C/S模型中扮演什么角色。最后,会从一次完整的通信活动中,去理解Binder通...
分类:
其他好文 时间:
2014-11-03 11:25:06
阅读次数:
193
1.Binder通信机制介绍这篇文章会先对照Binder机制与Linux的通信机制的区别,了解为什么Android会另起炉灶,採用Binder。接着,会依据Binder的机制,去理解什么是Service Manager,在C/S模型中扮演什么角色。最后,会从一次完整的通信活动中,去理解Binder通...
分类:
其他好文 时间:
2014-11-02 18:00:12
阅读次数:
157
ServiceManager,其实也是一个Service,不过它的Server端实现并未使用Binder库的结构实现,而是直接打开binder/dev进行通信的,不具有普遍性。下面以MediaServer中的MediaPlayService为例,说明更加普遍的使用binder通信机制的Service...
分类:
移动开发 时间:
2014-10-24 12:42:13
阅读次数:
161
以下概述Binder通信过程中涉及到的四个对象:Binder本地对象、Binder实体对象、Binder引用对象、Binder代理对象的生死。1、Binder通信的交互过程 1.Client 进程发出进程间通信请求,具体由Client进程中的代理对象通过Binder驱动程序向Server进程中的B....
分类:
移动开发 时间:
2014-10-22 19:55:15
阅读次数:
179
1.Binder通信机制介绍这篇文章会先对照Binder机制与Linux的通信机制的区别,了解为什么Android会另起炉灶,採用Binder。接着,会依据Binder的机制,去理解什么是Service Manager,在C/S模型中扮演什么角色。最后,会从一次完整的通信活动中,去理解Binder通...
分类:
其他好文 时间:
2014-10-15 20:37:51
阅读次数:
220
1.Binder通信机制介绍这篇文章会先对照Binder机制与Linux的通信机制的区别,了解为什么Android会另起炉灶,採用Binder。接着,会依据Binder的机制,去理解什么是Service Manager,在C/S模型中扮演什么角色。最后,会从一次完整的通信活动中,去理解Binder通...
分类:
其他好文 时间:
2014-10-03 12:41:34
阅读次数:
235