前言
很多搞Android开发的心里都有这样的问题:Handler和Binder这两个知识点,面试时还要问吗?还有研究的必要吗?工作中似乎用不到啊。
这些问题其实并不难回答:哪个公司不是面试造火箭,工作拧螺丝?
想必大家都感受到了,越来越多的人开始涌进Android这个行业,现在的Android程序员越来越难找工作了。毕竟大环境摆在那里的,现在Android从业者真的太多了,既然有那么多可供选择的人,为什么不选择更好的呢?
于是,如大家所见的,现在的公司对Android开发者的要求越来越高了!尤其是阿里、头条、腾讯等大厂,面试问的很多都是原理,像Handler和Binder这些,这都是必问的题目,所以,明白了吗?面试官必问的。
为什么Android面试必问Handler和Binder?
众所周知,程序代码是死的,系统运转是活的,各模块代码运行在不同的进程(线程)中,想要真正理解安卓的这几大服务,势必要掌握安卓的通信机制,而安卓最主要的两个通信机制就是Handler和Binder。
Binder机制在Android中的地位举足轻重,我们需要掌握的很多原理都和Binder有关:
- 系统中的各个进程是如何通信的?
- Android系统启动过程
- AMS、PMS的原理
- 四大组件的原理,比如Activity是如何启动的?
- 插件化原理
- 系统服务的Client端和Server端是如何通信的?(比如MediaPlayer和MeidaPlayerService)
可以说Binder机制是掌握系统底层原理的基石。
Handler的地位也是同样的原理。
现在的业界有一句话是这样说的:技术好的未必弄得懂底层,但是底层基础好的学起技术来很快。所以,大公司在挑选公司人才的时候,更加看重的是应聘者对底层原理的掌握和理解。
所以,明白了吗?Handler和Binder面试官必问的×2。
大厂面试真题举例
来来来,看