深入理解Binder
2020-03-22 本文已影响0人
嘉伦哥
什么是Binder
binder 是Android 系统提供的一种IPC(进程间通讯)机制之一。由于Android 是基于Linux内核的,因此,除了binder以外,还存在其他的IPC机制。比如:管道、socket、广播等。而binder 相对于其他的IPC机制来说,更加轻巧方便,但是确实最复杂的一个。 而binder起到的作用就是,整个Android 系统基本可以看作是一个基于Binder通信的C/S架构。Binder就像网络一样,把系统部分连接在了一起。
什么是C/S架构
新建 PPT 演示文稿_01.pngC/S 架构其实就是 Client、Server和ServiceManager 三者间交互的一种架构。
从上图交互箭头可以知道:
-
Server进程手首先要注册一些服务(server)到ServiceManager中,此时,Server此刻就是ServiceManager的客户端,而ServiceManager就是服务端了。
-
如果某个Client 进程想使用某个Server就必须先到ServiceManager中获取Server的信息,此时,Client此刻就是ServiceManager的客户端,而ServiceManager就是服务端了。
-
如果Client得到 Server的信息后 与Server所在的进程建立了通信,那么此刻Client 就是Server的客户端,而Server就成了服务端了。
以上就是C/S 架构中三者的关系,而三者之间的通信呢,都是基于Binder通信的,所以,通过任意两者之间的的关系,都能解开Binder的奥妙。
。。。。未完待续