背景:
国庆前有几个学员朋友在群里讨论了几个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技术干货,请关注下面“千里马学框架”