前言:学习技术得找到乐趣,在学校期间就对Android比较感兴趣,操作系统,进程线程,内存管理,性能优化等都很有吸引力。
方法论: 建立宏观框架后,再拆分知识大厦逐个击破。
总之就是:高屋建瓴 + 日拱一卒
下面记录了个人的一个成长路线,一起成长起来:
- 《第一行代码》(无基础入门的可以读下,有基础直接略过)
- 《Android开发艺术探索》 解析了一些Android中重要的概念
- github项目:小秘 [地址]
- 个人博客,增加技术输出,带动输入学习
- 《计算机网络》tcp/ip 协议栈,每一层职责及大致原理 [概述] [应用层] [传输层] [网络层]
- 《操作系统》体系架构 进程线程 同步异步 [并发] [volatile]
- git adb linux 常用命令 [git] [jenkins]
- Android studio 使用 debug技巧及一些 插件
- OkHttp 学习,拦截器思想,网络架构 缓存 [okHttp]
- RecyclerView 缓存 prefetch 源码
- Jetpack [paging] mvvm [livData] dataBinding [Navigation] [Room]
- Handler looper message [handler]
- Binder IPC [Binder] [service]
- 《代码整洁之道》优雅用不过时 设计 比例 结构 明名 留白 [clean code]
- Retrofit [retrofit]
- LeakCanary weakReference 引用队列 [leakCanary]
- EventBus [eventBus]
- ASM APT 来做一些编译期间的事,如方法trace自动插桩 [Asm]
- Graphic图像相关知识 view绘制机制 Choreographer ViewRootImpl vsync skia 硬件绘制 [graphic]
- gradle 系列 build流程 gradle plugin Bytex框架完成方法插桩插件发布到 jitpack [基础] [plugin] [ByteX]
- github项目:今日新闻仿今日头条 jetpack
- systrace分析性能
- 冷启动优化:工具 --> perfetto 方法论 --> 延迟、异步、提前
- looper: message调度 postSyncBarrier 打印looper消息 是否有些绘制黑洞(比如onDraw中 invalidate)
- IdleHandler 延迟执行一些任务