【啰嗦~】自从接触Android以来,大概也有3年时间,基本是跟着项目走,做过的东西不算多也不算少,从当初做上层应用到系统级应用,再到Framework,以及后来接触功耗、性能优化等需求。给我的感觉就是学的东西杂而很难精益求精,我想有必要写点东西,把自己认可的干货或学习心得做个记录,一来以备查询,挽救我这令人心伤的破记忆,二来也可以跟Android相关开发/爱好者共同交流,取长补短,提升自我!有不足之处也请各种践踏,给予批评指正!
---------------------------------------------------------------------------------------------------------------------------------------
从今天开始,对于Android N的源码分析,主要来源于以下三方面的资源:
1、个人项目中所做模块的经验分享
由于目前接触的项目几乎都是建立在Android 5.1和6.0上的,所以与N对比,源码还是出现了很大的改动,从17开始,整机开发的Android系统应该都会是基于7.0以上。目前很多模块对于源码的分析参差不齐,而且很多都大同小异。
基于6.0源码分析的尚且甚少,基于7.0的更少,过旧的源码框架和变更的函数及接口不太适合新手或模块新人去跟踪源码并学习分析,所以后面写的每一篇源码都会基于7.0的版本。(PS:当然Android O也快出来了,有新特性还是会一起分析分享)
这个专区主要的模块应该会集中在系统层面,所分析的源码集中于Framework/下,当然也会涉及到一些其他目录下的源码(只能说,水太深),我会尽量写的基础,写的全面,让你知道去哪找,能够读懂上下文!
2、除项目以外,个人兴趣模块学习经验分享
相信大家除了工作上迫不得已被逼迫的搞一些自己不愿意的模块以外,还是想研究一些自己感兴趣的东西,比如我一直被压迫搞基础框架(AMS、PMS...),其实我想搞网络基础协议(Wifi),比如我被逼迫搞三方兼容性问题(其实就是一个扯淡的工作,很少有改动代码的工作量),其实我想写几行代码!再比如...
由于大部分的经验都集中在框架层,不严格的来说是Android中间层,还是对上层应用组件比较感兴趣的,毕竟也想去研究学习~
对于应用这一块还是新手,希望能够从系统转应用的过程中,尽量多的学习,跟大家多多交流,欢迎打脸!
3、Linux相关的知识点总结和经验分享
我始终坚信想搞好Android,对于Linux的基础掌握是必须的,如果能够很好的了解Linux系统的相关知识(当然能够深入一点是最好的),对于Android的编译和底层(包括JVM)等的学习和掌握还是相当好的!这其中会包含git、shell等知识点的学习!
对于Linux的学习,我也会以专题的形式,写一些干货,与大家一起交流学习!再次鼓励打脸!
---------------------------------------------------------------------------------------------------------------------------------------
【再啰嗦~】以上为个人今后技术总结的蓝图雏形,定个大概方向,后面就慢慢的强化细节吧。总的来说,梦想是好的,能不能坚持下去,还是个问题,不过梦想还是要有的,万一实现了呢?