Several questions need to know for understanding Binder

来源:互联网 发布:淘宝客鹊桥怎么做 编辑:程序博客网 时间:2024/06/06 05:31

1. Binder由哪几部分组成

     1)在Android系统的分层结构中,Binder在每一层的对应结构, Framework/Native/HAL/Kernel

     2)在同一层各个部分又由哪几部分组成?

2. Binder各层在整个Binder架构中担当的角色是什么?

3. interface_cast实质是什么,Android中将Binder通过面向对象的继承关系组织到一起,相互转化,能够这样相互转化的实质是什么?

    实质就是内存对其。

4. Binder结构,在每次asInterface之后,得到的到底是谁的(Proxy端的对象还是Native端的对象)的Interface引用,说到底就是remote()方法或mRemote成员到底是谁的引用?

    看看IMPLEMENT_META_INTERFACE和queryLocalInterface也许可以帮助你回答这个问题,实际上你得到的是一个Bp的对象。

5. Proxy的对象如何最终转到Native的对象?实质是Proxy引用如何最终能调用Native端的方法?

    IPCThreadState::transact这个方法也许可以帮你回答这个问题。

6. Binder驱动到底干了什么?

    提示:Binder两端一般都分属于不同的进程,但无论是Binder实体还是对实体的引用都从属与某个进程,都不能透明地在进程之间传输,那驱动就是一个翻译。

7.How to use Binder implement ourselves Application?