安卓开发中个人能力的进阶进程

有一天小吴突然说:我做Android开发的时间也不短了,不管你说什么东西都能跟你说道说道,但如果继续深入聊一些细节的东西,我就会很吃惊:“哎?这个我之前怎么没注意到过?”,可怕的是这种情况发生的概率并不在少数,这是为什么呢?

如果你也有类似的感觉,那么就说明你也碰到学习瓶颈期了。



处在瓶颈期说明我们对自己的能力范围无法进行精准评估,导致我们自己也不知道哪一块是完全掌握的哪一块还是有欠缺的。

所谓的进阶

既然已经知道了我们处在瓶颈的原因,就可以着手准备我们的学习计划,也就是Android开发进阶了。

在文章开头的分析中我们知道了自己的弱点其实就是认知不足,所以我们需要定制一个能够评估自己掌握程度的标准。

由于Android开发所涉及的知识面实在太广,我们不得不先划分几个笼统的模块,然后在每个模块内部继续细分更小的模块,依此类推形成一个树状体系。

知识体系架构

结合目前我的处境,我觉得我可以将所有的知识大致分为三类模块:

  1. 业务能力

业务能力就是日常开发时会接触到的各种各样的知识,这类知识并不需要了解的有多么深刻,例如你只需要知道在加载bitmap时通过设置option可以调整显示比例从而优化内存,而不需要知道它是如何调整比例的。虽然没有要求深度但要求广度。需要了解的知识尽可能的越多越好,越全面越好。

  1. 技术深度

光有丰富的业务能力还不够,出色的开发人员一定是对技术深度有追求的,对技术了解的比较深刻后在开发中可以充分的让资源物尽其用。学习这类知识不能急于求成,不能吝啬时间成本,争取学一样就学的透彻,例如HashMap类,阅读源码勾勒出所有的实现细节,然后在归纳整理。

  1. 架构能力

这部分的知识算是个人能力的展现,如果前两类知识积累到一定程度后,很自然的就可以凭借着个人的对所学知识的充分运用,自己设计出一些创新或者伪创新的工具或者开发架构方法。



具体实施方法

读到这里的你如果有认真思考的话你就会发现,真正的问题并不是我们少学了什么东西,而是我们不清楚自己少学了什么东西。

以树形结构对知识进行分类归纳能够尽可能全面的覆盖到所有的知识点,上节中提到的三个模块就是庞大的树形结构中的几个次根结点。



在树形结构中每个节点代表一个知识点,其子节点是对该知识点内又具体划分了模块,目的是更容易分类。

学习的过程就是不断的把新接触到的知识消化并置于树中合适的位置。

把以前掌握的知识整理分类归纳是非常必要的,攘外必先安内,学习亦是如此。

现在网上有好多整理好的目录,非常不建议直接拿来用,一是涵盖范围不全面,二是非自己整理的会缺少大局观的认知。

所以强烈建议自己动手去整理,整理时需要两个步骤:

  1. 树形结构目录

这个目录就像上图一样即可,推荐使用类似百度脑图等工具,比较方便一点。

  1. 笔记

每一个树形节点都是一个文件夹,里面保存着对应分类的知识笔记,推荐类似有道云笔记之类的工具。

文章后面整理了一些三类的知识点,但没有进行详细分类,仅供参考。

业务能力进阶

  1. Android&Java API的熟练使用

  2. Android Studio的熟练使用

  3. 调试程序

  4. 单元测试

  5. Android官方支持库的使用

  6. 主流开源框架的熟练使用

  7. apk编译流程

  8. gradle的使用

  9. Android版本的更新内容

技术深度进阶

  1. JVM运行原理(方法,变量)

  2. Java 多线程相关

  3. Java 常用API源码分析

  4. Android 系统原理及源码分析

  5. 主流开源框架源码分析

架构能力进阶

  1. 性能监控与优化

  2. Mock框架搭建

  3. 项目架构设计与实行

  4. 设计模式




猜你喜欢

转载自blog.51cto.com/14009815/2328654