Binder通讯机制,大纲和学习计划

前言

Binder,作为Android中重要的通讯机制,虽然我们可以在不理解的情况下使用,但如果理解透彻,在以后的开发中我们将受益良多。理解Binder,完全可以看作我们在修年内功,特别是Binder机制中牵扯到Driver,Hative层,Framework层的内容,如果我们对整个流程熟悉,那么我们不仅对Android的通讯机制,而且还有整个Android框架的了解将会上一个台阶。

Binder系列文章一共有5篇,是本人在学习Binder过程中的笔记,在写Binder系列文章前,本人阅读了相关的书籍和网上的资料,并查阅了相应的源码。但是,错误难免。如果有疏漏或者想探讨,希望阅读本文的你能畅所欲言,我们共同进步!

大纲

  1. Binder机制1---Binder原理介绍

    1. Android与Linux通信机制的比较
    2. BinderService服务中的作用

    3. Binder通信机制流程

  2. Binder机制2---Binder的数据结构以及Binder驱动

    1. 数据结构分析

    2. 驱动分析

  3. Binder机制3---Native层

    1. Service Manager成为守护进程

    2. ServerClient获得ServiceManager的远程接口

    3. ServerSM注册服务

    4. ClientSM获得服务

  4. Binder机制4---Framework层

    1. 初始化frameworkBinder框架

    2. C/S获得ServiceManagerJava远程接口过程

    3. XXXService的接口定义和启动过程,添加自己到SM

    4. Client获得XXXServiceJava远程接口过程

    5. Client通过Java远端接口使用XXXService提供的服务

  5. Binder机制5--- Binder实现进程管理服务示例

    1. 任务管理器的例子:服务端PMService,客户端PMClient

    2. 碰到的问题及解决办法


一些参考资料

这里感谢这些资料的作者们,向你们致敬!

  1. Android Bander设计与实现 - 设计篇 http://blog.csdn.net/universus/article/details/6211589
    • 非常详细的介绍了Binder的数据结构,适合对Binder有一定了解的朋友阅读。

  2. Android进程间通信(IPC)机制Binder简要介绍和学习计划 http://blog.csdn.net/luoshengyang/article/details/6618363
    • 老罗的文章,强烈推荐。一共有5篇文章,非常全面的介绍了Binder机制的Native层和Java层通信流程,并配有实例。缺点是:数据结构和驱动并没有系统的分析,如果对这部分不了解,直接看老罗Binder系列的文章也许会产生困扰。建议先看“Android Bander设计与实现 - 设计篇”理解数据结构后,再看。

  3. 驱动部分:
    1. Binder驱动源码分析 http://blog.sina.com.cn/s/blog_8d13a22b0100wovf.html
    2. Android之binder驱动个人学习小结http://www.2cto.com/kf/201208/148770.html
    3. binder驱动-交互时的传输实现(二) http://www.360doc.com/content/12/0103/15/7891085_176884758.shtml
    4. 对binder驱动的理解http://www.360doc.com/content/12/0102/14/7891085_176654687.shtml
    • 在看这几篇文章时,我是互相结合看的,看完后,就大概对驱动有了一定的理解,结合“Android Bander设计与实现 - 设计篇”才写了:
      Binder机制2---Binder的数据结构以及Binder驱动
  4. 《深入理解Android卷1》和《深入理解Android卷2》
    • 卷1写的非常不错,介绍了Binder的Native层,思路清晰;卷2介绍Binder的Framework层,结构混乱,就要差很多了。
  5. Android深入浅出之Binder机制 http://zhongcong386.blog.163.com/blog/static/13472780420111010105931680/
    • 感觉作者是按照《深入理解Android卷1》来写的,两者可以结合来看。

  6. Binder学习总结_native(1)http://blog.csdn.net/ljsbuct/article/details/7991838
    • 如标题,是一个简单的Native总结,适合看完《深入理解Android卷1》后,理清思路。

这里,推荐看《深入理解Android卷1》,”Android Bander设计与实现 - 设计篇“,和老罗的“Android进程间通信(IPC)机制Binder简要介绍和学习计划”。其它资料,如果有兴趣可以参考。

你可能感兴趣的:(Binder通讯机制,大纲和学习计划)