我的2018年终总结(Android开发进阶之路)

来自:Deep into Android

0
前言


成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。


https://github.com/JsonChao/Awesome-Android-Notebook

这个仓库,我就坐等更新了,完善了我还要推荐一波~


更好的阅读体验请跳转到个人博客站点

https://jsonchao.github.io/2018/12/29/2018年终总结/


今天,已经是2018年最后一天的工作日了,回想2018学习路上的点点滴滴,有收获和喜悦,也有烦恼与焦虑,但是,总的来说,这一年,我在技术上的提升还是比较大的,因此,我感觉,我的付出是值得的,接下来,回顾一下2018年我的成长轨迹。


1
回顾我的2018年


第一季度(1-3月):


1、开源Awesome-WanAndroid(开源时间 2018年3月9日)


Awesome-WanAndroid项目地址

https://github.com/JsonChao/Awesome-WanAndroid


这是我在Github开源的第一个项目,也是第一个达到1K Star的项目。


在这之前,我对开源的理解和大多数普通Android开发者的理解一样,认为它只是一个免费的仓库聚集地,其实,开源所包含的意义是巨大的,它对 整个Android社区的推动和发展 ,以及与 个人的成长紧密关联 ,而我自身,也 因为开源,对Android本身的热爱也更加浓厚了 。因此,希望每个人都能加入到这个大环境来,这能在某种程度上影响自身的发展。


再来说说这个项目,这个项目是基于鸿洋的个人网站WanAndroid进行开发的Android客户端。它是一款会让您觉得很nice的技术学习APP,所用技术基本涵盖了当前Android开发中常用的主流技术框架,阅读内容主要面向想在Android开发领域成为专家的朋友们,有兴趣的朋友可以点击上面的链接进行查看。


http://www.wanandroid.com/

希望玩Android可以给大家一个锻炼自己的机会~


第二季度(4-6月):


1、开源Awesome-Android-Notebook(开源时间 2018年5月1日)


Awesome-Android-Notebook项目地址

https://github.com/JsonChao/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项目地址

https://github.com/JsonChao/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中的线程和线程池

  • ...


作者的博客地址:

https://jsonchao.github.io/


2、开源Awesome-Third-Library-Source-Analysis项目(开源时间 2018年12月18日)

Awesome-Third-Library-Source-Analysis项目地址

https://github.com/JsonChao/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++核心速记笔记


https://github.com/JsonChao/Awesome-Android-Notebook/tree/master/notes


接下来,下面对我的2019年做了最核心的学习计划,所以会尽可能地去完成好它。


2
初始化我的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 每日一题 ==> 思考 & 练习 & 记录。


3
总结


如果想要成为一名优秀甚至卓越的Android工程师,就必须给自己 制定好切合自身的计划 ,并 不断地刻意练习和思考 ,只有这样,我们才能像锻炼肌肉一样去强化我们的大脑,最终,我们便会拥有 一通百通、快速学习的能力 。


希望我们能成为朋友,在 Github掘金上一起分享知识。


https://github.com/JsonChao


作者的规划非常细致,部分内容我也准备参考学一波了,PS:github 有作者邮箱,如果能帮忙作者完善到他开源的几个仓库的,可以尝试联系一波。

推荐↓↓↓
安卓开发
上一篇:项目必备功能之 JsBridge源码解析 下一篇:2018年终总结(兼个人详历)