基础
Java 基础
《Java编程思想》,如果完全没有基础,可以先尝试《Head First Java》,看《Java编程思想》时不要过度在意细节,注意整体把握,根据关键点,点对点学习。注意组织知识系统。
面相对象的概念理解,重载、继承、多态的基本形态
集合、IO等基本用法
泛型、注解、线程、反射
Android 基础
入门可建议《第一行代码》
Google Android 开发官网 必读,API不用背诵,以下概念务必理解:
四大组件的使用方式和生命周期
主线程概念
数据库、网络、SharePreference 使用
自定义组件
NPE ,ANR,OOM 以及 Crash 收集机制
操作系统基础
《深入理解操作系统》学习高速缓存、CPU机理
网络协议基础
《TCP/IP 协议族》网络相关翻译里面这本书是最好的。
进阶
编码概念
《Effective Java》必读书籍,中文翻译太差,推荐英文版。
《重构》学习面对废旧代码可以通过哪些方式重构,本书很短,结合《设计模式》 Gof 版阅读更佳。
设计模式
《设计模式》Gof 版设计模式涵盖Java中最常用的的一些设计模式的根本理念,阅读时切勿死记硬背,找到实用场景自己写出单个设计模式。进阶阶段尝试组合多种设计模式进行架构设计,如策略模式和迭代器模式。
Java 虚拟机
《深入理解Java虚拟机》学习虚拟机的基本结构,堆栈方法区、GC、类加载器等概念,学会阅读字节码
Kotlin 语言
《Kotlin 官网 Reference》 看完 Reference,你会发现里面借鉴了《Effective Java》里面很多的思想。
学习 apply、let 等函数的源码,能够自己熟练编写高效简洁的 lambda函数
Android 源码相关,
源码相关知识点没有完美的阅读书籍,建议学习方式是根据下面关键词Google,自行组织源码知识系统。
measure、layout、draw 三个过程源码
ListView 源码分析,了解列表缓存机制
Binder机制
Android C/S 架构(AMS,PMS等)
WMS :重点理解 Activity 、 Window、Surface、ViewRoot 、和基础绘制之间的关系
AMS:ActivityStack源码机制,ActivityThread,四大组件启动流程
从一个App 启动开始到APP展示经历的所有过程
选修
并发基础
《多处理器编程艺术》前半本书都是理论,后半部分是实战,这是一本神书,不过阅读时间较长,建议有空多读读。
架构设计
架构设计相关数据多Google,综合个大文章的介绍自行组织理解即可。架构设计需要组合设计模式才能发挥最大的用处,前期可以尝试“过度设计”一些模块,熟练运用和理解各大设计模式,后续由繁到简进行删减。
MVC
MVP
MVVM
Android 编译系统-Gradle
Gradle 官网介绍介绍非常好,必读