1、为什么要学Android Framework呢?
一方面,面试考察相关内容的可能性高。随着Android开发者越来越多,企业对Android程序员的筛选也有了更高的要求, 考察对Android底层逻辑的理解和思考就是很重要的一个方面,尤其是Android Framework中各个组件的原理。Framework相关的知识是一个深层次的内容,有些面试官喜欢一直问到你答不上来为止,正儿八经的考察你的技术能力,这也要求Android开发工程师对相关知识有一个较为全面的认识。
另一方面,学习Android Framework本身就是有价值的。很多公司的应用开发需要基于模块化、层次化、组件化、控件化来设计架构,它的基础就是建立在Android Framework框架的底层原理之上,学习Framework可以深层次的去解决安卓应用开始时遇到的一些难题,甚至不少公司都有设置专门的Android Framework开发岗位。大家都知道目前一般的Android开发者已经趋于饱和,发展的方向无非就是进阶成为中高级Android开发,或者深入Android底层逻辑转向系统开发,大家可以选择一条路径去拓宽自己的深度和广度。
例如:某场哔哩哔哩的Android开发工程师岗位面试上来就是:
1、安卓的系统架构了解吗
2、有做过framework层的开发吗
……
如果是你,你会怎么回答?
2、具体要怎么去学呢?
我们都知道,Android系统架构可以分为五个层面,从上到下依次是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层。每个层面又涉及了很多的细分要点,在进行学习时,一定要先理解整体的流程,然后再去细啃“硬骨头”。这里推荐大家阅读这两本专业书籍:《深入理解Android》和《Android内核剖析》,读完真的收获满满,同时大家还要学会去看源码,没必要花大量时间去复写代码,不要想着去全盘吸收,学习跟踪方法和把握整体的流程才是重要之处。
3、Android Framework想要精通的话还要学什么?
如果想要精通Framework,不仅要对底层原理有一个比较充分的了解,还要能够利用Framework知识去指导实际的开发工作,包括Handler、Binder、Android系统启动流程以及AMS、PMS等内容最好都要会。
学习本身是一个枯燥的事,希望大家能够坚持下去,也希望看到这里的朋友能够在学习Android Framework的路上过五关斩六将!冲冲冲!