安卓工程师不得不了解的第三方android库
## 开发架构/模式
1. [google-mvp](https://github.com/googlesamples/android-architecture/tree/todo-mvp)
2. [google-mvvm](https://github.com/googlesamples/android-architecture/tree/todo-mvvm-live)
3. [google-clean](https://github.com/android10/Android-CleanArchitecture)
4. [MVP+dagger](https://github.com/dingjiaxing/MvpDaggerArch)
5. [MVVMHabit](https://github.com/goldze/MVVMHabit)
6. [mosbyMVP](https://github.com/sockeqwe/mosby)
7. [webprogress](https://github.com/xudjx/webprogress)
* Android WebView独立进程解决方案
### 组件化相关
1. [arouter](https://github.com/alibaba/ARouter)
* 组件化路由框架,可解决组件间通信问题
2. [CC](https://github.com/luckybilly/CC)
* 业界首个支持渐进式组件化改造的Android组件化开源框架,支持跨进程调用
## 网络
1. [okhttp](https://github.com/square/okhttp): HTTP是现代应用常用的一种交换数据和媒体的网络方式,高效地使用HTTP能让资源加载更快,节省带宽。OkHttp是一个高效的HTTP客户端
* 支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接
* 连接池减少请求延时
* 透明的GZIP压缩减少响应数据的大小
* 缓存响应内容,避免一些完全重复的请求
2. [retrofit](https://github.com/square/retrofit)
* 负责网络接口的封装
3. [glide](https://github.com/bumptech/glide)
* 使用最广泛的图片加载库
4. [LoadSir](https://github.com/KingJA/LoadSir)
* 优雅的加载辅助库
## UI
1. [banner](https://github.com/youth5201314/banner)
* Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!
2. [SmartRefreshLayout](SmartRefreshLayout)
* 支持所有的 View
* 支持自动刷新、自动上拉加载
* 支持淘宝二楼和二级刷新
3. [BaseRecyclerViewAdapterHelper](https://github.com/CymChad/BaseRecyclerViewAdapterHelper) :强大的recyclerview辅助库
* 优化Adapter代码(减少百分之70%代码)
4. [photoView](photoView)
* 使用最广泛的图片显示库
5. [FlowLayout](https://github.com/hongyangAndroid/FlowLayout)
* 流式布局
6. [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)
* 一个tab样式库,支持各种tab的显示,可与viewpager搭配使用
7. [CircleImageView](https://github.com/hdodenhof/CircleImageView)
* 支持显示圆形图片的组件
8. [material-dialogs](https://github.com/afollestad/material-dialogs)
* 一个dialog样式库,包含很多风格的dialog
9. [BottomDialog](https://github.com/shaohui10086/BottomDialog)
* 支持自定义底部dialog
10. [CalendarView](https://github.com/huanghaibin-dev/CalendarView)
* 日历显示组件
11. [PictureSelector](https://github.com/LuckSiege/PictureSelector)
* 图片选择框架
## 数据
1. [greenDao](https://github.com/greenrobot/greenDAO)
* GreenDAO是一个高性能数据库,是开源的Android ORM(“对象/关系映射”),通过ORM(称为“对象/关系映射”),在我们数据库开发过程中节省了开发时间!
2. [MMKV](https://github.com/Tencent/MMKV)
* MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今在微信上使用,其性能和稳定性经过了时间的验证。近期也已移植到 Android / macOS / Windows 平台,一并开源。
3. [LitePal](https://github.com/LitePalFramework/LitePal)
* 一款开源的Android数据库开发框架,使用简单
4. [EventBus](https://github.com/greenrobot/EventBus)
* EventBus是一种用于Android的事件发布-订阅总线,用于事件和消息的传递
## 工具
1. [RxJava](https://github.com/ReactiveX/RxJava)
2. [fastjson](https://github.com/alibaba/fastjson)
* 性能最好的json转换工具库
3. [logger](logger)
* 日志打印库
4. [butterknife](https://github.com/JakeWharton/butterknife)
* 简化findViewById的库
5. [RxPermissions](https://github.com/tbruyelle/RxPermissions)
* 一个使用简单方便的权限请求库
6. [dagger](https://github.com/square/dagger)
* 注入框架
7. [leakcanary](https://github.com/square/leakcanary)
* 内存泄漏检测工具
8. [tess-two](https://github.com/rmtheis/tess-two)
* OCR文字识别的android库