这是我在 MDCC 上分享的内容上半部分,下半部分可见:Android 三大图片缓存原理、特性对比
一、为什么选择开源项目
1. 快速开发
2. 站在巨人的肩膀上
成熟的开源项目,功能完善、设计优秀,细节点考虑周全,不用像自己开发一样需要从头去全面开发、测试、完善。本身也是好的学习材料。Android 本身就是在 Linux、Java 上发展起来的。
3. 社区、全网智慧
成熟的开源项目会被众多项目采用,运行在各种场景下,实用性更强,场景更广,同时使用者通过 PR 可以完善项目、修复 Bug,增强项目,由社区维护,而不像一些公司自己开发的,主导者走了就成为了烂摊子。
二、如何选择开源项目
1. Star、PR、Issues、维护
Star 是一个项目最直接的被关注程度指标,不过这个功能已经被当做“收藏”功能了。
相对来说 PR、Issues 相对更重要,说明这个项目有多少人在使用了、发现了问题、完善了它。Issues List 已经变成了了解一个项目坑的很好资料。
2. 文档
方便快速集成,同时也说明开发者对这个项目的维护程度。
3. 知原理
这个是容易被忽视的,大多数人用开源项目看看文档,调用 API OK 就完事了。殊不知可能就默默埋下了地雷,在项目上线后突然爆发。
4. 业务场景
根据具体使用场景及项目已经选择的库选择。
比如图片缓存选型就涉及到 App 是否大图比较多、是否尺寸敏感。是否已经选择了 okhttp 库等。
1
关于知原理,我们团队曾经碰到过一个原理不正确的坑。当时我们团队给Java的RESTFul API添加文档注释,选用apidocjs,最后发现这玩意通过两次字符串匹配来提取文档注释,因此没办法记载稍微复杂一点的数据结构
学习了。
写的很全面,学习了.