================
| 框架名称 | 功能描述 |
| :-- | :-- |
| Android Universal Image Loader | 一个强大的加载,缓存,展示图片的库,已过时 |
| Picasso | 一个强大的图片下载与缓存的库 |
| Fresco | 一个用于管理图像和他们使用的内存的库 |
| Glide | 一个图片加载和缓存的库,使用的App有:网易新闻 |
| GlidePalette | Android Lollipop Palette is now easy to use with Glide |
| PicassoPalette | Android Lollipop Palette is now easy to use with Picasso ! |
| Picasso-transformations | 一个为Picasso提供多种图片变换的库 |
| Glide-transformations | 一个为Glide提供多种图片变换的库 |
2、图片裁剪
==========
| 框架名称 | 功能描述 |
| :-- | :-- |
| uCrop | Image Cropping Library for Android,使用的App有:薄荷,哔哩哔哩 |
| android-crop | 图片裁剪,使用的App有:网易新闻,芒果TV |
| cropper | 图片裁剪开源框架 |
| Android-Image-Cropper | Image Cropping Library for Android, optimized for Camera / Gallery |
| PhotoCropper | Android 大图片裁剪终极解决方案 |
| android-cropimage | CropImage Activity from Gallery.apk packaged as a reusable Android library |
| PhotoCrop | A Library which can be used to crop images in Android similar to Facebook and Telegram,使用的App有:快手 |
3、图片选择
==========
| 框架名称 | 功能描述 |
| :-- | :-- |
| MultiImageSelector | 图片选择,使用的App有:薄荷 |
| BGAPhotoPicker-Android | Android 图片选择、预览、九宫格图片控件、拖拽排序九宫格图片控件 |
| TakePhoto | 轻量级Android照片处理框架 |
| RxGalleryFinal | Android图片单选/多选、拍照、裁剪、压缩。视频选择和录制。GalleryFinal |
| boxing | 一个多媒体选择器库,B站出品。可以选择一张或者多张图片,提供预览和裁剪功能。同样支持gif图,选择视频和图像压缩功能。 |
4、图片转换,压缩,滤镜
================
| 框架名称 | 功能描述 |
| :-- | :-- |
| Android-gpuimage | 一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜,使用的App有:快手 |
| photoview | 使用的App有:薄荷,网易新闻 |
| circleimageview | 圆形图片,使用的App有:薄荷 |
| RoundedImageView | 圆形图片,使用的App有:薄荷 |
| SelectableRoundedImageView | Android ImageView that supports different radii on each corner |
| android-gif-drawable | gif图片,使用的App有:网易新闻,快手 |
| Luban | 可能是最接近微信朋友圈的图片压缩算法 |
| Compressor | Compressor is a lightweight and powerful android image compression library |
5、高斯模糊,毛玻璃,图片模糊
===================
| 框架名称 | 功能描述 |
| :-- | :-- |
| android-stackblur | Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann. |
| Blurry | Blurry is an easy blur library for Android |
| blurkit-android | The missing Android blurring library. Fast blur-behind layout that parallels iOS. |
| BlurView | Dynamic iOS-like blur of underlying Views for Android |
| ImageBlurring | Android blurring image(bitmap) by java and jni |
6、缓存
========
| 框架名称 | 功能描述 |
| :-- | :-- |
| LruCache | Android原生API,内存缓存 |
| DiskLruCache | Java实现基于LRU的磁盘缓存 |
| ASimpleCache | 一个为android制定的轻量级的开源缓存框架 |
| base-diskcache | Android 缓存库,融合了DiskLruCache和ASimpleCache |
7、网络请求
==========
| 框架名称 | 功能描述 |
| :-- | :-- |
| httpclient | apache开源的网络请求框架,已过时 |
| AsyncHttpClient | 基于httpclient封装,已过时 |
| OkHttp | Square出品,一个Http与Http/2的客户端 |
| Retrofit | Square出品,类型安全的Http客户端 |
| Volley | Google推出的Android异步网络请求框架和图片加载框架,使用的App有:网易新闻 |
从Android 6.0 开始,Google删除了apache的开源网络请求框架httpclient,所以基于httpclient的AsyncHttpClient也不推荐使用了
Volley适合那些请求频繁但数据量不大的场景,不适用于大数据的请求,比如下载文件
Android 6.0 后,Android开始使用OkHttp,而Retrofit是一个网络代理框架,可以更简单的使用OkHttp
8、网络解析
==========
| 框架名称 | 功能描述 |
| :-- | :-- |
| Gson | 一个Java序列化/反序列化库,可以将JSON和java对象互相转换 |
| Jackson | Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象 |
| Fastjson | Java上一个快速的JSON解析器/生成器 |
| HtmlPaser | 一种用来解析单个独立html或嵌套html的方式 |
| Jsoup | 一个以最好的DOM,CSS和jQuery解析html的库 |
9、数据库
=========
| 框架名称 | 功能描述 |
| :-- | :-- |
| OrmLite | JDBC和Android的轻量级ORM java包 |
| Sugar | 用超级简单的方法处理Android数据库 |
| GreenDAO | 一种轻快地将对象映射到SQLite数据库的ORM解决方案,使用的App有:薄荷,京东 |
| ActiveAndroid | 以活动记录方式为Android SQLite提供持久化 |
| SQLBrite | SQLiteOpenHelper 和ContentResolver的轻量级包装 |
| android-database-sqlcipher | 数据库加密 |
| storio | Beautiful API for SQLiteDatabase and ContentResolver |
| realm-java | 移动数据库,高性能数据库:一个SQLite和ORM的替换品 |
| ObjectBox | 相信不少人都用过GreenDao和EventBus,这两库都是greenrobot公司出品。ObjectBox也是该公司出品。GreenDao号称是最快的与SQLite的对象关系映射(ORM)。但是自从2011年以来,公司声称发现了许多的缺陷,有很多问题影响了性能。所以开发出另外一套性能最好且易用的NoSQL数据库,优于其他数据库5-15倍的性能。 |
10、依赖注入
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| ButterKnife | 将Android视图和回调方法绑定到字段和方法上 |
| Dagger2 | 一个Android和java快速依赖注射器 |
| AndroidAnotations | 快速安卓开发。易于维护 |
| RoboGuice | Android平台的Google Guice 已退役 |
| guice | Google开发的依赖注入框架 |
11、图表Chart
==============
| 框架名称 | 功能描述 |
| :-- | :-- |
| WilliamChart | 创建图表的Android库 |
| HelloCharts | 兼容到API8的Android图表库,使用的App有:薄荷 |
| MPAndroidChart | 一个强大的Android图表视图/图形库,使用的App有:春雨医生 |
12、后台处理
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| Tape | 一个轻快的,事务性的,基于文件的FIFO的库 |
| Android Priority Job Queue | 一个专门为Android轻松调度任务的工作队列 |
13、事件总线
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| EventBus | 安卓优化的事件总线,简化了活动、片段、线程、服务等的通信,使用的App有:薄荷 |
| Otto | 一个基于Guava的增强的事件总线 |
| HermesEventBus | 一个基于EventBus的、能在进程间发送和接收event的库,在IPC或者插件开发中非常有用 |
14、响应式编程
============
| 框架名称 | 功能描述 |
| :-- | :-- |
| RxJava | JVM上的响应式扩展 |
| RxJavaJoins | 为RxJava提供Joins操作 |
| RxAndroid | Android上的响应式扩展,在RxJava基础上添加了Android线程调度 |
| RxBinding | 提供用RxJava绑定Android UI的API |
| Agera | Android上的响应式编程 |
| RxLifecycle | Lifecycle handling APIs for Android apps using RxJava |
15、Log框架
============
| 框架名称 | 功能描述 |
| :-- | :-- |
| Logger | 简单,漂亮,强大的Android日志工具 |
| Hugo | 在调试版本上注解的触发方法进行日志记录 |
| Timber | 一个小的,可扩展的日志工具 |
16、测试框架
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| Mockito | Java编写的Mocking单元测试框架 |
| Robotium | Android UI 测试 |
| Robolectric | Android单元测试框架 |
Android自带很多测试工具:JUnit,Monkeyrunner,UiAutomator,Espresso等
17、调试框架
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| Stetho | 调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试 |
18、性能优化
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| LeakCanary | 内存泄漏检测工具 |
| BlockCanary | 轻松找出Android App界面卡顿元凶 |
| ACRA | Android应用程序崩溃报告 |
| Google Guava | Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。 |