Android如何阅读开源项目源代码
开源项目一般分为完整项目和第三方类库,对于完整项目主要分析项目架构,引用第三方类库,总体代码风格等,分析第三方类库主要集中在功能和实现思路,设计思想等。
// 了解功能,考虑实现方式
1 总 —- 功能了解
了解项目功能(Sample 和文档)以及主要分为几个大块。另外明白你的需求,比如 PullToRefresh 的下拉实现。
PS:
(1)大家可以自己先想想如果是自己会怎么去实现这个项目,或许看源码过程中会发现思想碰撞。
(2)如果时间比较紧,可以先 Google 一些该项目相关的文档结合代码看看,帮助快速掌握,不过网上分析文章参差不齐,需谨慎。
// 分析项目代码目录结构 –> 核心类 –> 核心方法 –> 找到分析重心
2 分 —- 详细设计
这里正式开始代码分析,分析过程中如果脑子记不住,多动手记下主要类、函数等作用
(1) 入口对完整 App 来说就是 Manifest 找到入口 Activity,对于工具库从调用接口中判断入口类。然后在 IDE 中一步步深入即可。PS:一般不错的开源项目规范都比较好,类、函数、变量从名字上就可以了解作用,所以如果需要快速掌握原理的话看觉得是重点的函数即可。
(2) 核心类在上面的一步步深入过程中已经接触了不少类,大致了解各个类的主要作用
// 分析重心,分析流程
3 总 —- 总体设计
(1) 功能流程图上面 2-(1) 的过程完成后已经大致了解项目的流程,不费事的话可以简单画下流程及相关类、函数。如 Retrofit、Volley 的请求处理流程,Android-Universal-Image-Loader 的图片处理流程图。
(2) 总体设计整个库分为哪些模块及模块之间的调用关系。如大多数图片缓存会分为 Loader 和 Processer 等模块。
// 顺序分析
4 回顾
这时候从 3-2-1(总体设计->流程图->详细设计->功能介绍)
反序看,大致就能了解作者最初是怎么设计的了对于快速分析可以走 1-2(1)-2(2)-3(1) 的步骤。






