Binder学习提纲

参考:http://gityuan.com/2015/10/31/binder-prepare/

https://blog.csdn.net/carson_ho/article/details/73560642

下面罗列一下关于Binder系列文章的提纲:

文章是从底层驱动往上层写的,这并不适合大家的理解,建议读者还是从上层往底层看。下面说说这个系列文章之间的彼此联系,也是对你阅读顺序的一个建议,更好的建议,大家可以上微博跟@Gityuan,或许邮件跟我进行交流与反馈:

首先阅读Binder系列5—注册服务(addService)Binder系列6—获取服务(getService),这两个过程都需要于ServiceManager打交道,那么这两个过程在开始之前都需要Binder系列4—获取Service Manager,既然要获取Service Manager,那么就需要先Binder系列3—启动Service Manager。在看Binder服务的注册和获取这两个过程中,不断追溯下去,最终调用到底层Binder底层驱动,这时需要了解Binder系列1—Binder Driver初探Binder系列2—Binder Driver再探

看完Binder系列1~系列6,那么对Binder的整个流程会有一个比较清晰的认知,这还只是停留在Native层(C/C++)。接下来,可以看看上层Binder系列7—framework层分析的Binder架构情况,Java层 Binder架构的核心逻辑都是交由Native架构来完成,更多的是对Binder的一个封装过程,只有真正理解了Native层Binder架构,才能算掌握的Binder。

前面的这些都是讲述Binder整个流程以及原理,再接下来你可能想要自己写一套Binder的C/S架构服务。如果你是系统工程师可能会比较关心Native层和framework层分别该如何实现自己的自定义的Binder通信服务,见Binder系列8—如何使用Binder;如果你是应用开发工程师则应该更关心App是如何使用Binder的,那么可以查看文章Binder系列9—如何使用AIDL

最后是对Binder的一个简单总结Binder系列10—总结

一、一些重要概念

1.  进程空间

用户空间、内核空间

2.  内存映射

https://www.jianshu.com/p/719fc4758813

https://zhuanlan.zhihu.com/p/119061608

posted on 2020-09-28 17:14  旺仔牛轧糖  阅读(122)  评论(0编辑  收藏  举报