在学习Android过程中,会使用到很多开源框架,而使用时对框架的实现方式应有一定的了解,这个过程最好的方式就是阅读源码,毕竟源码说明一切。但开源框架很多,不时会有新的出现,而且对一些通用框架来说,一般代码量非常庞大,所以正确的阅读姿势很重要。一般来说有下面几个要点:
-
明确阅读源码的目的是对整体有个了解而非细节,对开源框架来说就是先找这个框架的特点,其他相同业务框架相比的优点和不足,这也是选择的考虑的重点;
-
厘清一个框架的核心点和辅助点;
最重要的是总结相似框架的架构模式与习惯,慢慢的就会有一套自己的阅读套路。那我们如何系统的学习呢?
学习目录
1.深入解析微信 MMKV 源码
2.深入解析阿里巴巴路由框架 ARouter源码
3.深入解析 AsyncTask 源码(一款Android 内置的异步任务执行库)
4.深入解析 Volley 源码(一款 Google推出的网络请求框架)
5.深入解析 Retrofit 源码
6.深入解析 OkHttp 源码
7.深入解析 ButterKnife 源码
8.深入解析 Okio 源码(一套简洁高效的I/O 库)
9.深入解析 SharedPreferences 源码
10.深入解析 EventBus 源码
…
…
15.深入解析 Handler 源码
16.深入解析 Binder 源码
17.深入解析 JNI 源码
18.深入解析 Glide 源码
文末
从顶层到底层,Android源码是十分庞大与复杂的,这里推荐一些源码分析的经验:
-
先结合官网等资料对整个Android系统做一个整体的把握,然后进行具体学习,接着持续迭代学习过程。
-
使用Source Insight/Android Studio等高效率的工具看源码、进行代码的跟踪,必要的时候进行Debug。
-
结合UML建模,画类图/时序图,避免思路混乱。
-
推荐“囫囵吞枣”式的学习,先粗略学习,然后细节深入。囫囵吞枣在这里并不是说不求甚解,这里的囫囵吞枣是要知道“吞了几个”,将来自己需要的时候再进行补充。跳跃式的学习、渐进式学习相结合。
-
先顶层,再到底层,从常用的系统级API或者插件级API进行入手学习。
赶紧点击下方卡片一起学习吧,与君共勉。