开源组件库整理
1. 缓存
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
DiskLruCache | Java实现基于LRU的磁盘缓存 | ---- | ---- |
2.图片加载
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
Picasso | square公司出品的图片库 | - | – |
Fresco | Facebook公司出品的图片库 | - | – |
Glide | Google公司出品的图片库 | - | – |
Android Universal Image Loader | 一个强大的加载,缓存,展示图片的库(不再维护) | - | – |
3. 图片处理
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
Picasso-transformations | 一个为Picasso提供多种图片变换的库 | - | - |
Glide-transformations | 一个为Glide提供多种图片变换的库 | - | - |
Android-gpuimage | 基于OpenGL的Android过滤器 | - | - |
Luban | 图片压缩处理库(微信朋友圈逆向) | - | - |
Compressor | 图片处理工具库 | - | - |
4. 网络请求
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
OkHttp | 一个Http与Http/2的客户端 | - | - |
Retrofit | 类型安全的Http客户端 | - | - |
Volley | Google推出的Android异步网络请求框架和图片加载框架 | ||
Android Async HTTP | Android异步HTTP库 | - | - |
AndroidAsync | 异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。 | - | - |
5. 网络解析
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
Gson | 一个Java序列化/反序列化库,可以将JSON和java对象互相转换 | ||
Jackson | Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象 | ||
Fastjson | Java上一个快速的JSON解析器/生成器 | ||
HtmlPaser | 一种用来解析单个独立html或嵌套html的方式 | ||
Jsoup | 一个以最好的DOM,CSS和jQuery解析html的库 |
6. 数据库
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
OrmLite | JDBC和Android的轻量级ORM java包 | ||
Sugar | 用超级简单的方法处理Android数据库 | ||
GreenDAO | 一种轻快地将对象映射到SQLite数据库的ORM解决方案 | ||
ActiveAndroid | 以活动记录方式为Android SQLite提供持久化 | ||
SQLBrite | SQLiteOpenHelper 和ContentResolver的轻量级包装 | ||
Realm | 移动数据库:一个SQLite和ORM的替换品 | ||
DBFLOW | ORM 解决方案,基于注解,使用apt技术,在编译过程中生成操作类,使用方式和ActiveAndroid高度相似,使用简单 | ||
ROOM | 官方组件框架提供数据库包支持 |
7. 依赖注入
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
ButterKnife | 将Android视图和回调方法绑定到字段和方法上 | ||
Dagger2 | 一个Android和java快速依赖注射器。 | ||
AndroidAnotations | 快速安卓开发。易于维护 |
8. 图表
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
WilliamChar | 创建图表的Android库 | ||
HelloCharts | 兼容到API8的Android图表库 | ||
MPAndroidChart | 一个强大的Android图表视图/图形库 |
9. 后台处理
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
Tape | 一个轻快的,事务性的,基于文件的FIFO的库 | ||
Android Priority Job Queue | 一个专门为Android轻松调度任务的工作队列 |
10. 事件总线
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
EventBus | 安卓优化的事件总线,简化了活动、片段、线程、服务等的通信 | ||
Otto | 一个基于Guava的增强的事件总线 |
11. 响应式编程
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
RxJava | JVM上的响应式扩展 | ||
RxJavaJoins | 为RxJava提供Joins操作 | ||
RxAndroid | Android上的响应式扩展,在RxJava基础上添加了Android线程调度 | ||
RxBinding | 提供用RxJava绑定Android UI的API | ||
Agera | Android上的响应式编程 |
12. Log框架
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
Logger | 简单,漂亮,强大的Android日志工具 | ||
Hugo | 在调试版本上注解的触发方法进行日志记录 | ||
Timber | 一个小的,可扩展的日志工具 |
13. 测试框架
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
Mockito | Java编写的Mocking单元测试框架 | ||
Robotium | Android UI 测试 | ||
Robolectric | Android单元测试框架 | ||
Android自带很多测试工具 | JUnit,Monkeyrunner,UiAutomator,Espresso等 |
14. 调试框架
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
Stetho | 调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试 |
15. 性能优化
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
LeakCanary | 内存泄漏检测工具 | ||
ACRA | Android应用程序崩溃报告 |
16、路由跳转框架
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
ARouter | 阿里云页面跳转框架 ,介绍页地址:阿里开源最佳实践 | - | |
DeepLinkDispatch | Airbnb 路由跳转框架 | ||
ActivityRouter | 路由跳转 | ||
VMRouter | 美团外卖路由跳转 |
17、整体架构框架
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
android-architecture-components | Google 2017 IO会上推荐新框架 | ||
android-architecture | Google android 框架范例 |
18、动态权限
开源组件 | 简介 | 最佳实践 | 参考文章 |
---|---|---|---|
RxPermission | rxJava实现的动态权限申请 | ||
EeasPermission | Google 提供的权限动态申请 |
参考:
1、2017年Android开源项目及库汇总
2、15 个 Android 通用流行框架大全
3、Android 开源