到底什么是binder

进程通信有很多方法,很多技巧。 Android另辟蹊径,用自己的理解写出了 Binder


那到底什么是Binder?


Binder 的作用是进程间通信,如果我们自己做该怎么做呢 ?

第一步,要先建立个共用之处。 无论是管道还是socket,首要之事是有机会进行通信。

Binder 利用的是 Linux Driver.  Binder 底层以驱动形式出现,提供公用接口,满足条件的哪个进程都可以来访问。

底层只需要做些数据包传输,传入再传出,不需要复杂处理,简单易用。


第二步, Binder之上,建立守护线程,进程。  这就是所谓的 ProcessState 和 IPCThreadState。

每次加一个服务,建立一个Thread 守护Binder 驱动。  并通过守护线程发送命令。


第三步, 在守护线程基础上,建立服务端和调用端, BnBinder 和 BpBinder。 Binder proxy 和Binder Native。


在服务端,建立ServiceManager,即可完成管理功能。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭