facebook/fresco
Fresco是一个在Android应用程序中显示图像的强大系统。
壁画负责图像的加载和显示,所以你不必这么做。它将从网络、本地存储或本地资源加载图像,并在图像到达之前显示一个占位符。它有两个级别的缓存:一个在内存中,另一个在内部存储器中。
在android 4.x及更低版本中,fresco将图像放在android内存的一个特殊区域。这使您的应用程序运行得更快,并且更少地遭受可怕的内存不足的错误。
Fresco还支持:
渐进式JPEG流
显示动画gif和webp
图像加载和显示的广泛定制
bumptech/glide
Glide是一个快速高效的开源媒体管理和安卓系统的图像加载框架,它将媒体解码、内存和磁盘缓存以及资源池封装到一个简单易用的界面中。
Glide支持提取、解码和显示视频静像、图像和动画gif。Glide包含一个灵活的API,允许开发人员插入几乎任何网络堆栈。默认情况下,glide使用自定义的基于httpurlconnection的堆栈,但还包括实用程序库插件到Google的Volley项目或Square的OKHTTP库。
glide的主要焦点是使滚动任何类型的图像列表尽可能平滑和快速,但是glide对于几乎任何需要获取、调整和显示远程图像的情况都是有效的。
nostra13/Android-Universal-Image-Loader
为图像加载、缓存和显示提供强大、灵活和高度可定制的工具。它提供了许多配置选项,并对图像加载和缓存过程进行了良好的控制。
PS
JakeWharton/NineOldAndroids
在API3.0(Honeycomb 相当老的版本), SDK新增了一个android.animation包,里面的类是实现动画效果相关的类,通过Honeycomb API,能够实现非常复杂的动画效果,
但是如果开发者想在3.0以下使用这一套API, 则需要使用开源框架Nine Old Androids,
在这个库中会根据我们运行的机器判断其SDK版本,
如果是API3.0以上则使用Android自带的动画类,否则就使用Nine Old Androids库中,这是一个兼容库
PS : https://www.jianshu.com/p/29eafdc46010
square/otto
一个增强的基于guava的事件总线,强调Android支持。相较EventBus调用更简洁
Otto是一个事件总线,设计用于分离应用程序的不同部分,同时仍允许它们有效地通信。
Otto从Guava派生而来,为已经改进的事件总线添
PS:
1. Otto的订阅者运行的线程跟跟发送的线程是一致的,但是EventBus的会根据用户声明订阅的函数的时候指定的线程来去运行。
2. Otto只会查找当前类中的订阅者,跟Produce。但是EventBus会查找父类的订阅者。在post的时候,两个框架都会去查找Event的父类型,毕竟Event也是属于它的父类型类型。
3. 两个框架都采用了很多缓存,比如查找订阅者的时候。事件与对应的订阅者也是缓存着的。
PS : https://www.jianshu.com/p/11524784a68d
apache/commons-codec
简单编码器和解码器,如base64和十六进制。
journeyapps/zxing-android-embedded
Android条码扫描库,使用zxing进行解码。
该项目大致基于zxing android条形码扫描仪应用程序,但不属于官方zxing项目。
特征:
可以通过意图使用(需要很少的代码)。
可以嵌入到活动中,用于高级定制UI和逻辑。
扫描可以在横向或纵向模式下执行。
摄像机是在后台线程中管理的,用于快速启动。