1. Image loading, caching, processing
frame name |
Function description |
Android Universal Image Loader |
A powerful library for loading, caching, and displaying images, obsolete |
Picasso |
A powerful image download and cache library |
Fresco |
A library for managing images and the memory they use |
Glide |
A library for image loading and caching, the apps used are: Netease News |
GlidePalette |
Android Lollipop Palette is now easy to use with Glide |
PicassoPalette |
Android Lollipop Palette is now easy to use with Picasso ! |
Picasso-transformations |
A library that provides various image transformations for Picasso |
Glide-transformations |
A library that provides various image transformations for Glide |
2. Image cropping
frame name |
Function description |
uCrop |
Image Cropping Library for Android , the apps used are: Mint, Bilibili |
android-crop |
Image cropping, the apps used are: NetEase News, Mango TV |
cropper |
Image cropping open source framework |
Android-Image-Cropper |
Image Cropping Library for Android, optimized for Camera / Gallery |
PhotoCropper |
The ultimate solution for Android large image cropping |
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, the apps used are: Kuaishou |
3. Picture selection
frame name |
Function description |
MultiImageSelector |
Picture selection, the apps used are: Mint |
BGAPhotoPicker-Android |
Android picture selection, preview, Jiugongge picture control, drag and drop sorting Jiugongge picture control |
TakePhoto |
Lightweight Android photo processing framework |
RxGalleryFinal |
Android picture single/multiple selection, photo taking, cropping, compression. Video selection and recording. GalleryFinal |
boxing |
A multimedia selector library, produced by Station B. You can select one or more pictures, provide preview and crop functions. Also supports gif images, select video and image compression functions. |
4. Image conversion, compression, filters
frame name |
Function description |
android-gpuimage |
An open source GPU-based image processing library that provides a variety of image processing filters and supports real-time filters for cameras and camcorders. The apps used are: Kuaishou |
photoview |
The apps used are: Mint, NetEase News |
circleimageview |
Round pictures, the apps used are: Mint |
RoundedImageView |
Round pictures, the apps used are: Mint |
SelectableRoundedImageView |
Android ImageView that supports different radii on each corner |
android-gif-drawable |
gif pictures, the apps used are: NetEase News, Kuaishou |
I promise |
Probably the closest image compression algorithm to WeChat Moments |
Compressor |
Compressor is a lightweight and powerful android image compression library |
5. Gaussian blur, frosted glass, blurred picture
frame name |
Function description |
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、缓存
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、依赖注入
11、图表Chart
12、后台处理
13、事件总线
框架名称 |
功能描述 |
EventBus |
安卓优化的事件总线,简化了活动、片段、线程、服务等的通信,使用的App有:薄荷 |
Otto |
一个基于Guava的增强的事件总线 |
HermesEventBus |
一个基于EventBus的、能在进程间发送和接收event的库,在IPC或者插件开发中非常有用 |
14、响应式编程
15、Log框架
框架名称 |
功能描述 |
Logger |
简单,漂亮,强大的Android日志工具 |
Hugo |
在调试版本上注解的触发方法进行日志记录 |
Timber |
一个小的,可扩展的日志工具 |
16、测试框架
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的工程师应用在产品服务中。 |
google protobuf |
由google开发,并且在google内部使用。Protobuf的作用和xml、json是一回事,但他是二进制格式,性能好、效率高。ProtoBuf开发者指南 |
19、热修复
20、二维码
21、多媒体
22、汉语转拼音
23、下载
24、动画
25、Android选择器类库
包括日期时间选择器、单项选择器、地址选择器、颜色选择器、文件目录选择器、数字选择器、星座选择器等