前言
成为一名优秀的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或者后端、其它领域的知识,都能够在较短时间内快速领悟到中高级层面的知识。我想,这就是一通百通的能力吧。
热文推荐:
2、面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来…
3、程序员疑似出bug被吊打!菲律宾的高薪工作机会了解一下?
4、“一键脱衣”的DeepNude下架后,我在GitHub上找到它涉及的技术
8、腾讯新开源一吊炸天神器—零反射全动态Android插件框架正式开源
喜欢 就关注吧,欢迎投稿!
如有任何疑问可在文章底部留言。为了防止恶意评论,本博客现已开启留言审核功能。但是博主会在后台第一时间看到您的留言,并会在第一时间对您的留言进行回复!欢迎交流!
本文链接: https://leetcode.jp/android开发工程师高效成长指南/