博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发工程师高效成长指南
阅读量:2356 次
发布时间:2019-05-10

本文共 1932 字,大约阅读时间需要 6 分钟。

前言

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

从去年的互联网寒冬开始,移动开发甚至前后端的招聘需求越来越少,公司对开发者的技术要求也越来越高。特别是对于我们Android开发来说,似乎我们的生存空间越来越小,处境也变得越来越困难。所以,在这个时代,我们必须找到适合自己的一条“黄金路”。其实,对于Android来说,它其实有很多个细分领域,比如音视频、iot、图像处理、安全攻防、移动AI、性能优化等,职业生涯的前几年,我们只要选中其中的某一个领域,把它研究到极致,就可以拥有真正的核心竞争力,而对于像前后端、Flutter等跨领域的知识我们只要有一定程度的了解即可。这其实就是很多大厂一直青睐的T型人才。下面,我就性能优化这一细分领域来分析一下如何把它做到极致。

性能优化其实一块很深很深的知识领域,对于Android来说,它从最上层的应用层,顺延着Framework层、ART/Davilk、Linux内核层,一直到最底层的硬件层,都有我们需要深入研究的技术点。因此,根据这一思路,我根据我自身的情况,定制了一套自下而上的学习路线。下面,我就来说一下详细的学习方案。

对于学习资源来说,最重要的就是高质量和成体系的知识。因此,在学习的时候,我们必须以经典的高质量书籍为主,其他优秀的文章、视频教程为辅。

一、成长路线规划

首先是数学和算法,要想成为世界上最顶尖的程序员,这两门功课必须要打好基础。

数学

  • 数学之美

  • 程序员的数学基础课(极客时间)

数据结构和算法

  • 大话数据结构

  • 算法图解

  • 剑指Offer

  • 数据结构与算法之美(极客时间)

  • 算法面试通关(极客时间)

  • LetteCode

  • 编程之美

  • 编程珠玑

  • 趣学算法

  • 算法(红本)

硬件原理

  • 深入浅出计算机组成原理(极客时间)

网络

  • 计算机网络:自顶向下方法

  • 趣谈网络协议(极客时间)

  • 图解TCP/IP

  • HTTP权威指南

  • Wireshark网络分析就这么简单

  • Wireshark网络分析的艺术

  • Web性能权威指南

  • Unix网络编程:卷1

Linux

  • 现代操作系统

  • 鸟哥的Linux私房菜

  • 深入理解计算机系统

  • Linux程序设计

  • UNIX环境高级编程

  • 深入Linux内核架构

  • 性能之巅

  • 最强Android书

  • Linux性能优化实战

编译原理

  • 编码

  • 编译原理

虚拟机

  • Java核心技术 卷1

  • Java编程思想

  • Java并发编程实战(极客时间)

  • Java并发编程的艺术

  • Java核心技术36讲(极客时间)

  • 深入理解JVM

  • 深入拆解JVM(极客时间)

  • 揭秘JVM

  • 程序员的自我修养—链接、装载与库

  • 垃圾回收算法手册

  • 深入理解Android JVM ART

  • 深入解析Android 虚拟机

Framework

  • HeadFirst设计模式

  • Android源码设计模式

  • Android进阶解密

  • Android框架解密

  • 深入理解Android内核设计思想

  • Android系统源代码情景分析

编程语言

  • More Effective C++

  • Effective Java

  • Kotlin实战、快速上手Kotlin开发(极客时间)

应用层

  • 第一行代码

  • Android开发进阶 从小工到专家

  • Android进阶之光

  • Android开发艺术探索

性能优化

  • Android开发高手课(极客时间)

  • Android应用性能优化最佳实践

组件化、热修复、插件化

  • Android组件化架构

  • Android热修复技术原理

  • Android插件化开发指南

二、如何读书?

首先,我们需要定一个学习计划,比如一年读50本书,一周一本。读书的时候可以根据同一个技能点按照难度选取3到5本书阅读,其中最好的书读3遍。对于碎片化的时间,我们也可以充分利用起来对某一个知识点进行系统学习,以求真正地将其完全掌握。最后,这里再重申一遍,要想真正掌握一本书的核心内容,需要读三遍。第一遍:细读,目的在于完整阅读全书,并且划出重点,写上读书笔记;一个月后读第二遍:扫读,主要快速翻阅第一遍阅读时做的笔记和划的重点,目的在于加深记忆;半年后第三遍:忆读,读的时候只看目录,然后去回想内容,如果回想不起来,再去进行扫读。这样三遍下来,基本上一本书的核心内容就能够很好的吸收

三、总结

当你对某一个细分领域有非常深入的理解后,比如性能优化,音视频等,其实,此时许多底层知识都已经打通了。假如,你现在再去学习前端、Vue/React或者后端、其它领域的知识,都能够在较短时间内快速领悟到中高级层面的知识。我想,这就是一通百通的能力吧。

热文推荐:

1、

2、

3、

4、

5、

6、

7、

8、

                        喜欢 就关注吧,欢迎投稿!

640?wx_fmt=jpeg

转载地址:http://ribtb.baihongyu.com/

你可能感兴趣的文章
Zookeeper核心工作机制(zookeeper特性、zookeeper数据结构、节点类型)
查看>>
基于Zookeeper的分布式锁
查看>>
程序员想提升工作效率,就别再做这七件事啦
查看>>
微信2015 年最热门的 10 篇技术文章,共 100 多篇精华
查看>>
程序员必须知道的10大基础实用算法及其讲解
查看>>
C/C++内存泄漏及检测
查看>>
nginx安装过程记录
查看>>
em单位的理解和使用
查看>>
localStorage的理解和应用
查看>>
base64图片编码大小与原图文件大小之间的联系
查看>>
安装和认识express框架
查看>>
三种主流的JVM(JDK)使用心得
查看>>
多核危机:Scala vs. Erlang
查看>>
未来系统中的编程语言
查看>>
函数式编程另类指南1
查看>>
kudu tablet design(kudu表设计)
查看>>
kudu master design(kudu主节点设计)
查看>>
第七章:druid.io实践分享之realtime+kafka 一
查看>>
第七章:druid.io实践分享之Realtime+kafka 二
查看>>
Java内存管理
查看>>