背景:
国庆前有几个学员朋友在群里讨论了几个binder相关的面试题,讨论较为激烈,这里马哥统一整理一下列出来了,并且也补充了几个,大家有兴趣的可以尝试做一下,后续方便每个学员进行查缺补漏。后续会进行整理一下答案。
binder讨论的一些场景面试题
问题1:
binder中有多个进程作为客户端通过servicemanager获取service的bpbinder,bpbinder都会有一个handle,那么多个进程获取同一个service对应的handle一样么?
问题2:
请问binder通讯过程中是否可以传递bpbinder对象?
问题3:
请问同binder 服务端进程自己进程内部如果进行binder调用需要经过binder驱动吗,需要和不需要请详细描述?
问题4:
Android App进程天生支持binder通讯的原理是什么,刚开始初始化时候自带了几个binder线程?
问题5:
请描述一下binder通讯起来后,需要新开binder线程的创建是怎么一个过程?
问题6:
请问binder的如何使用异步请求,优势是什么,但频繁使用相关风险?
问题7:
跨进程通讯一般都需要通过ServiceManager进行getService获取bpbinder,但普通app经常使用系统组件Service的bindService进行跨进程通讯也可以获取bpbinder,这个是啥原理?
上面的问题你都可以回答正确么?可以评论区留下你的答案。
更多framework详细代码和资料参考如下链接
投屏专题部分:
https://mp.weixin.qq.com/s/IGm6VHMiAOPejC_H3N_SNg
hal+perfetto+surfaceflinger
https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg
其他课程七件套专题:
点击这里
https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw
视频试看:
https://www.bilibili.com/video/BV1wc41117L4/
参考相关链接:
https://blog.csdn.net/zhimokf/article/details/137958615
更多framework假威风耗:androidframework007