自动释放内存!Facebook推出强大Android图片库Fresco
2015-03-31 00:00
134 查看
![](http://static.oschina.net/uploads/img/201503/31133241_mp4i.jpg)
Github 地址。
主要特性:
内存
解压后的图片和Android的位图都会占据很大的内存,这导致Java 垃圾收集器更频繁的运行,也让应用变得更加缓慢,这一问题在没有对垃圾收集器进行完善的Android 5.0上尤为严重。
在Android 4.x及以下版本,Fresco将图片放置在Android内存的一个特殊位置。这可以确保当图像不在屏幕上显示时,可以自动释放它们所占的内存。让应用运行的更快速,且不易崩溃。
使用Fresco的应用,即使在配置低端的设备上也能正常运行,而且你无需经常性地去担心图片的内存占用情况。
Streaming
Web上的渐进式(Progressive)JPEG图片已经存在多年,打开文件过程中,会先显示整个图片的模糊轮廓,随着扫描次数的增加,图片变得越来越清晰。这种格式可以说是网络较慢情况下的救星,通过图片的轮廓知道正在加载的图片大概是什么。
Android自己的图片库不支持streaming,而Fresco可以,只需指定一个URI,你的应用程序就可以随着数据的到来,自动更新它的显示。
动画
动画GIF和WebP应该是应用的难点,每一帧都是一个大型的位图,而每个动画都是一系列的帧。Fresco则负责加载和处理这些帧及管理它们的内存。
Drawing
Fresco在显示方面使用了Drawees,Fresco的Drawees能够显示占位符,直到图片已加载,并自动显示到图像到达时:
将图片扩展至自定义的焦点,而不是作为处理的中心。
使用圆角化或圆形来显示图像。
如果网络加载失败的话,用户可以点击占位符重新加载图像。
显示自定义背景、浮窗小部件(overlays)或图像上的进度条。
当用户点击图片,自定义浮窗小部件。
加载
Fresco的图像管道可以让你以多种方法来自定义加载:
为一个图像指定不同的URI,从中选取一个已经缓存的显示。
优先显示低分辨率图像,待数据到达后交换到高的分辨率。
如果图像有EXIF缩略图,首先显示缩略图,直到整个图片被加载出来(只针对本地图片)。
调整或旋转图像。
即使是在老版的Android上也可以解码WebP图像,只不过不是全部支持。
传送门:Fresco官网、Github托管地址
相关文章推荐
- Facebook推出强大Android图片库Fresco 自动释放内存 图片缓存 内存益处
- 自动释放内存!Facebook推出强大Android图片库Fresco
- 自动释放内存!Facebook推出强大Android图片库Fresco
- 自动释放内存!Facebook推出强大Android图片库Fresco
- Facebook推出强大Android 自动释放内存的图片库Fresco
- 【安卓培训 App培训】自动释放内存!Android图片库Fresco
- Facebook推出强大Android图片库Fresco :Fresco下载编译,及运行 sample
- (转)Facebook推出强大Android图片库Fresco
- Facebook推出强大Android图片库Fresco
- Facebook推出强大Android图片库Fresco
- fresco--facebook推出的一款强大的android图片处理库
- FaceBook推出的Android图片加载库-Fresco
- Android Fresco图片处理库用法API英文原文文档1(Facebook开源Android图片库)
- fackbook的Fresco (FaceBook推出的Android图片加载库-Fresco)
- 【iOS-cocos2d-X 游戏开发之十五】Cocos2dx中响应Android的Back(返回)与Menu(小房子)事件&&Cocos2dx自动释放粒子内存函数!
- FaceBook推出的Android图片加载库-Fresco
- fackbook的Fresco (FaceBook推出的Android图片加载库-Fresco)
- fackbook的Fresco (FaceBook推出的Android图片加载库-Fresco)
- Android Fresco图片处理库用法API英文原文文档3(Facebook开源Android图片库)
- Android Fresco图片处理库用法API英文原文文档2-2(Facebook开源Android图片库)