Binder 到底是什么?
众所众知,Android 的 Framework 层主要是由 WMS、AMS 还有 View 所构成,这三个模块穿插交互在整个 Framework 里;其中Binder 更是重中之重,面试必问,目前一线企业的 App 都是多线程和多进程的,而 Android 进程间通信机制就是 Binder
接下来我们来看看 Binder 知识点在面试中那些大厂的面试官是怎么问的?自己又能回答多少出来呢?
1.Android 中多进程通信的方式有哪些?
2.进程通信你用过哪些?原理是什么?
3.描述下 Binder 机制原理?
4.说说你对 Binder 驱动的了解
5.Binder 线程池的工作过程是什么样?
6.为什么 Binder 驱动要运行在内核空间?可以移到用户空间吗?
7.从用户空间如何调用内核空间的 Binder 驱动呢?
8.看过 Binder 驱动的 open、mmap、ioctl 方法的具体实现吗?
9.仅 Binder_ioctl() 一个方法是怎么实现大部分业务的?
... ...
针对上述 Binder 面试真题,整理了一份 Binder 学习手册及相关面试文档,我总结如下技术点:
- Android IPC学习
- bionic学习
- framework层c++篇
- framework层Java篇
- IPC binder 相关结构体
- IPC binder的三大接口
- IPC binder跨进程通信补充
- IPC binder框架
- IPC binder驱动
- IPC binder总结
- IPC binder总结
- jni学习
- linux学习
- misc
- 跨进程通信IPC之AID
文档内容展示如下:
Binder 之 Framework 层 C++ 篇
一 、ServiceManager 的启动
二 、ServiceManager 的核心服务
三、ServiceManager 的获得
四、注册服务
五、获得服务
Binder 之 Framework 层 Java 篇
一、startReg()函数
二、register_android_os_Binder()函数
三、getIServiceManager()方法
四、addService()方法详解
五、ServiceManager.getService()方法
IPC 之 Binder 的补充
一 、Binder 中的线程池
二、Binder 的权限
三、Binder 的死亡通知机制
IPC 之 Binder 总结
一 、 Android 为什么选用 Binder 作为最重要的 IPC 机制
二、Binder 中相关的类简述
三、Binder 机制概述
四、Binder 通信概述
五、Binder 协议
六、Binder 架构
篇幅原因,就不在这里为大家赘述了,有需要的小伙伴:可在评论区下方留言,或者私信发送 "面试" 即可领取这份 《Android Binder 学习手册》 ,助你早日成为底层原理大师!
最后大家如果觉得手册内容有用的话,可以点赞分享一下哦~