前言
成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。
更好的阅读体验请跳转到个人博客站点
今天,已经是2018年最后一天的工作日了,回想2018学习路上的点点滴滴,有收获和喜悦,也有烦恼与焦虑,但是,总的来说,这一年,我在技术上的提升还是比较大的,因此,我感觉,我的付出是值得的,接下来,回顾一下2018年我的成长轨迹。
一、回顾我的2018年
第一季度(1-3月):
1、开源Awesome-WanAndroid(开源时间 2018年3月9日)
Awesome-WanAndroid项目地址
这是我在Github开源的第一个项目,也是第一个达到1K Star的项目。在这之前,我对开源的理解和大多数普通Android开发者的理解一样,认为它只是一个免费的仓库聚集地,其实,开源所包含的意义是巨大的,它对 整个Android社区的推动和发展 ,以及与 个人的成长紧密关联 ,而我自身,也 因为开源,对Android本身的热爱也更加浓厚了 。因此,希望每个人都能加入到这个大环境来,这能在某种程度上影响自身的发展。
再来说说这个项目,这个项目是基于鸿洋大神的个人网站WanAndroid进行开发的Android客户端。它是一款会让您觉得很nice的技术学习APP,所用技术基本涵盖了当前Android开发中常用的主流技术框架,阅读内容主要面向想在Android开发领域成为专家的朋友们,有兴趣的朋友可以点击上面的链接进行查看。
第二季度(4-6月):
1、开源Awesome-Android-Notebook(开源时间 2018年5月1日)
Awesome-Android-Notebook项目地址
这个项目的发起还得从我的第一个开源项目Awesome-WanAndroid说起,在开源了这个项目之后,我收到了很多朋友的鼓励,但同时,因为自身技术实力的薄弱,对很多项目本身所用技术和Android的理解层次不够使我产生了一个将自己打造成为一个优秀Android开发的念头,由此,Awesome-Android-Notebook诞生了,它是一份通往优秀Android开发的完备的计划,有兴趣的朋友可以参考下。
2、计算机网络系统学习
主要基于《计算机网络:自顶向下方法》一书对计算机网络OSI中的五层架构模型相关知识进行了较为深入的学习与理解。
3、系统学习Android单元测试
基于Awesome-WanAndroid 项目对Android单元测试的相关技术进行了系统学习,有兴趣的可以查看该项目的test测试目录进行学习。
第三季度(7-9月):
1、开源Awesome-Android-Interview项目(开源时间 2018年7月29日)
Awesome-Android-Interview项目地址
随着Android技术发展的成熟,Kotlin、大前端技术RN、Flutter、小程序等一下子就进入了我们的视野内,同时,Android自身的技术栈也正在不断扩展,比如前段时间Google推出的Jetpack。因此,Android开发者们越来越焦虑,越来越迷茫,每个人的时间和精力是有限的,我们到底该学什么才能有效地提高自身的竞争力呢?其实,首先我们应该优先深入学习工作中用到的技术,其次,关注这2年来Android最新的面试题所涉及的知识点,根据自身的实际情况有选择地进行针对性的学习和提升。只有这样,自身才不会被所谓的 互联网寒冬 吓倒。
2、Python基础 && 数据分析基础学习
这一块主要是基于公司的后台算法项目为目的对Python基础知识和数据分析相关基础进行了学习。
第四季度(10-12月):
1、Android核心知识点学习
基于 《Android开发艺术探索》 、 《Android进阶之光》 对Android应用开发涉及的核心知识点进行了系统的学习 & 复习 & 理解,并对其中的重难点知识进行了博客输出:
- Android触摸事件传递机制
- Android View的绘制流程
- Android中的消息机制Handler
- Android中的线程和线程池
- ...
2、开源Awesome-Third-Library-Source-Analysis项目(开源时间 2018年12月18日)
Awesome-Third-Library-Source-Analysis项目地址
众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android优秀三方库源码的分析和理解则是必备技能。因此,为了将知识成体系地聚合起来,笔者创建了Awesome-Third-Library-Source-Analysis这个项目,为的就是让每一个Android工程师能够从以下七方面全方位地提升自己:
这个项目目前已进行进行到第四步——响应式编程,最近几天就会输出RxJava的源码分析文章,此前,已经对Android中的网络、图片加载、数据库热门框架源码进行了分析,感兴趣的可以点此查看,目前,估计在2019年1月底此系列将会完结,后续会马上推出Android核心源码的分析系列,敬请期待。
3、C/C++核心基础知识复习
要想深入研究Android源码,C/C++基础则是必备之一,因此,我重新捡起了C/C++,下面是C/C++的核心知识速记笔记:
- C核心速记笔记
- C++核心速记笔记
接下来,下面对我的2019年做了最核心的学习计划,所以会尽可能地去完成好它。
二、初始化我的2019年
第一季度(1-3月):
1、Android主流开源库源码分析系列博客
Android高级开发者必须了解的核心开源库源码:
- 内存泄露:LeakCanary
- 依赖注入:ButterKnife、Dagger2
- 事件总线:EventBus
2、Android核心源码
与Android应用开发紧密相关的Framework核心源码( 主要基于《Android进阶解密》一书 ):
- Context家族
- AMS
- WMS
- PMS
- JNI原理
3、Android插件化知识相关
学习和理解插件化知识能将FrameWork核心源码的相关知识融会贯通( 主要基于《Android进阶解密》一书 ):
- JVM核心知识
- Davilk/ART核心知识
- 类加载
- 热修复
- 插件化(基于VirtualAPK)
4、组件化
结合公司新版项目系统学习组件化架构的设计与理念。
5、算法
LetteCode 每日一题 ==> 思考&练习&记录,基于以下学习课程:
- 玩转数据结构 从入门到进阶
- 学习算法思想,修炼编程内功
- 玩转算法面试,从真题到思维全面提升算法思维
第二季度(4-6月):
1、Android源码设计模式
主要基于 Android源码 和 《Android源码设计模式解析与实战》 一书进一步加深对Android FrameWork层的的理解与思考。
2、算法
LetteCode 每日一题 ==> 思考 & 练习 & 记录,基于以下学习课程:
- 极客时间之《数据结构和算法之美》
第三季度(7-9月):
1、深入理解Android热修复
主要基于 现有的热修复技术 和 《深入探索Android热修复技术原理》 一书进一步加深对Android热修复技术的的理解与思考解。
2、深入理解Android插件化
主要基于 现有的插件化技术 和 《Android插件化开发指南》 一书进一步加深对Android插件化技术的理解与思考。
3、算法
LetteCode 每日一题 ==> 思考 & 练习 & 记录,基于以下学习课程:
- 极客时间之《算法面试通关40讲》
第四季度(10-12月):
1、深入学习Android性能优化
主要基于 极客时间之《Android开发高手课》 和 《Android应用性能优化最佳实践》、收藏的其它性能优化博文对Android性能优化相关知识进行全面、系统、深入地学习。
2、算法
LetteCode 每日一题 ==> 思考 & 练习 & 记录。
三、总结
如果想要成为一名优秀甚至卓越的Android工程师,就必须给自己 制定好切合自身的计划 ,并 不断地刻意练习和思考 ,只有这样,我们才能像锻炼肌肉一样去强化我们的大脑,最终,我们便会拥有 一通百通、快速学习的能力 。
很感谢您阅读这篇文章,希望您能将它分享给您的朋友或技术群,这对我意义重大。
希望我们能成为朋友,在 Github、掘金上一起分享知识。
掘金年度征文 | 2018 与我的技术之路 征文活动正在进行中......