前言
成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。
一转眼,一年很快就过去了,还记得一年前我写的2018年终总结,当时定了比较完善的学习计划,到目前为止,由于今年换工作变动等等其它原因,使本年度实施的学习计划与2018年所制定的有一些差异,接下来,便开始回顾一下我的2019年主要做了哪些事情。
二、回顾我的2019年
第一季度(1-3月):
1、完成Android主流开源库源码分析系列博客,并完成Awesome-Third-Library-Source-Analysis开源项目
Awesome-Third-Library-Source-Analysis项目地址
众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android优秀三方库源码的分析和理解则是必备技能。因此,为了将知识成体系地聚合起来,笔者创建了Awesome-Third-Library-Source-Analysis这个项目,为的就是让每一个Android工程师能够从以下七方面全方位地提升自己。
这个项目目前已经全部完成,感兴趣的同学可以点击上方链接进行查看。
2、Android核心源码
主要基于《Android进阶解密》一书学习与Android应用开发紧密相关的Framework核心源码:
- Context家族
- AMS
- WMS
- PMS
- JNI原理
3、Android插件化知识相关
主要基于《Android进阶解密》一书学习和理解插件化知识,以此将FrameWork核心源码的相关知识融会贯通:
- JVM核心知识
- Davilk/ART核心知识
- 类加载机制
- 热修复原理
- 插件化原理(基于VirtualAPK)
第二季度(4-6月):
1、面试
整个4月份则都是在反复地重复找工作、面试的这样的过程,期间也将Awesome-Android-Interview这个面试开源项目进行了进一步的总结与完善。
随着Android技术发展的成熟,Kotlin、大前端技术RN、Flutter、小程序等一下子就进入了我们的视野内,同时,Android自身的技术栈也正在不断扩展,比如前段时间Google推出的Jetpack。因此,Android开发者们越来越焦虑,越来越迷茫,每个人的时间和精力是有限的,我们到底该学什么才能有效地提高自身的竞争力呢?其实,首先我们应该优先深入学习工作中用到的技术,其次,关注这2年来Android最新的面试题所涉及的知识点,根据自身的实际情况有选择地进行针对性的学习和提升。
这里多说一句,其实找工作就是一个不断进行自我认知的一个过程,它能让你清晰地认识到自己哪方面存在着不足,哪一方面自己可能有一些优势,当你因此而找到自己的优势或感兴趣的方向时,坚持下去,肯定会有所收获。
后面的5、6月份则都是在适应的过程中度过,因为以前都是在比较小的团队进行开发,所以一下转到大的开发团队后则有一些不适应。而且,团队内的外包人员占总人员比例是比较大的,大致为80%左右,这导致了许多应用代码或多或少都存在一些问题。因此,我们需要定制更多的流程与组件来检测甚至解决这些问题。
2、开发效率提升
主要基于 《Android群英传 神兵利器》 一书系统提升开发效率。(主要是换了Mac pro,QAQ~)
第三季度(7-9月):
1、系统学习Android源码设计模式
主要基于 《HeadFirst设计模式》 与 《Android源码设计模式解析与实战》 两本书进一步加深对Android FrameWork层的的理解与思考。
2、工作、学习效率提升
主要基于 《番茄工作法图解》 一书系统学习了番茄工作法的实施。
3、算法基础学习
主要基于 《漫画算法》 一书对算法中常见的数据结构与一些比较经典的算法实现进行了深入地了解。
第四季度(10-12月):
1、深入学习Android性能优化
主要基于 极客时间之《Android开发高手课》、国内Top团队大牛带你玩转Android性能分析与优化、《移动性能实战》 和 《Android应用性能优化最佳实践》(已完成)、收藏的其它性能优化课程、文章对Android性能优化相关知识进行全面、系统、深入地学习。并且,因此我开源了Awesome-Android-Performance项目。
深入探索Android性能优化,从应用层、Framework层、Native层、ART/Dalvik以及Linux内核实现原理等各个层次深入挖掘各项性能优化技术~
众所周知,性能优化是Android细分领域中最难且也是知识面涉及最深和最广的方向之一,但是如果你想要成为一名顶尖的Android工程师,性能优化细分领域则是非常好的实战与理论结合的场所。因此,为了将性能优化涉及的各个层面的知识成体系地糅合到一起,笔者创建了Awesome-Android-Performance这个项目,希望能带领读者从Android系统架构中的应用层、Framework层、Native层、ART/Dalvik以及Linux内核层这一大垂直领域去深入探索与挖掘性能优化的极致技术。
在写这篇年终总结之前,我刚刚完成了《深入探索Android内存优化》这篇文章,这篇文章含金量比较高,建议对内存优化感兴趣的同学仔细阅读,必定有所收获。而且,内存优化可以说是性能优化中最重要的优化点之一,可以说,如果你没有掌握系统的内存优化方案,就不能说你对Android的性能优化有过多的研究与探索。
2、前端基础
大前端是未来的趋势,技多不压身,因此,基于 《大前端入门指南 前端基础部分》 一书我对HTML、CSS、JavaScript的基础核心知识进行了学习。
3、算法学习
主要基于 《剑指Offer》(进行中) 一书系统学习算法面试的解题思路。
接下来,我对我的2020年制定了最核心的学习计划,所以会尽可能高标准地去实现好它。
二、展望我的2020年
第一季度(1-3月):
1、继续深入学习Android性能优化
主要基于 极客时间之《Android开发高手课》、国内Top团队大牛带你玩转Android性能分析与优化、《移动性能实战》 和 《Android应用性能优化最佳实践》(已完成)、收藏的其它性能优化课程、文章对Android性能优化相关知识进行全面、系统、深入地学习。并且计划在3月底完成Awesome-Android-Performance项目。
2、系统学习数据结构与算法
算法是比较难的东西,所以我将算法的学习全部放在了早上,详细的算法学习计划如下:
- 1、全面了解数据结构与算法知识地图,建立算法知识框架
- 2、300分钟搞定数据结构与算法,学习Google算法面试的精髓(每周六上午)
- 3、剑指Offer,系统学习算法面试的解题思路 13 - 68题(每天早上)
- 4、字节跳动leetcode 38道算法题(每天早上)
- 5、腾讯leetcode 11道高频算法题(每天早上)
第二季度(4-6月):
1、Android Framework层深入学习
主要基于 剖析Framework面试 冲击Android高级职位 课程 将Framework的设计思想与实现细节、总体流程融合起来,追求真正的融会贯通。
2、深入并系统学习热修复与插件化
主要基于 Android应用发展趋势必备武器 热修复与插件化 课程深入并系统地学习热修复与插件化技术。
3、算法
LetteCode 每日一题 ==> 思考 & 练习 & 记录 & 总结 & 归纳
第三季度(7-9月):
1、继续Android Framework层深入学习
主要基于 《深入理解Android内核设计思想》 一书将Framework的设计思想与实现细节、总体流程融合起来,追求真正的融会贯通。
2、继续深入并系统学习热修复与插件化
主要基于 《深入探索Android热修复技术原理》、《Android插件化开发指南》 两本书 深入并系统地学习热修复与插件化技术。
3、算法
LetteCode 每日一题 ==> 思考 & 练习 & 记录 & 总结 & 归纳
第四季度(10-12月):
1、全面深入地掌握NDK技术
NDK技术是成为Android开发高手必须掌握的一个技能,因此,为了督促自身去深入学习NDK技术,我开源了Awesome-Android-NDK项目。
深入解码Android NDK技术、扎实C、C++、Shell、Linux基础,掌握JNI语法实现,熟悉Cmake、MakeFile的编译底层原理,全面解密顶级公司核心技术,搭乘着音视频与图像处理的5G快车,成长为最具核心竞争力的高级人才。
2、算法
LetteCode 每日一题 ==> 思考 & 练习 & 记录
三、总结
成长的道路总会充满坎坷与荆棘,但是梦想与热情总是使我们充满力量,我相信,未来,会有更广阔的天空。
心中有多少希望,未来就会有多精彩,愿你我都将充满力量地前行。
赞赏
如果这个库对您有很大帮助,您愿意支持这个项目的进一步开发和这个项目的持续维护。你可以扫描下面的二维码,让我喝一杯咖啡或啤酒。非常感谢您的捐赠。谢谢!
Contanct Me
● 微信:
欢迎关注我的微信:
bcce5360
● 微信群:
微信群如果不能扫码加入,麻烦大家想进微信群的朋友们,加我微信拉你进群。
● QQ群:
2千人QQ群,Awesome-Android学习交流群,QQ群号:959936182, 欢迎大家加入~
About me
Email: chao.qu521@gmail.com
Blog: https://jsonchao.github.io/
掘金: https://juejin.im/user/5a3ba9375188252bca050ade