Facebook推出强大Android 自动释放内存的图片库Fresco
目录结构
Facebook推出强大Android图片库Fresco,Fresco有这些特性,自动释放内存、Fresco 加载和处理动画、Drawing 显示图像、Fresco自定义加载等。
Android图片库Fresco
图片库 Fresco 产生的背景
在过去的几年里,对Android设备来说有效存储图像方面我们面临了很多问题。图片太大,而手机又只有很小的内存,特别是Android设备还要将内存分割给各个应用。所以,太多的图片总会耗去大部分的内存,从而导致应用的崩溃。
为了解决这一问题,Facebook最近推出了一款用于Android应用中展示图片的强大图片库Fresco,它能够从网络、本地存储和本地资源中加载图片。而且,为了节省数据和CPU,它拥有三级缓存。
此外,Fresco在显示方面是用了Drawees,可以显示占位符,直到图片加载完成。而当图片从屏幕上消失时,会自动释放图片所占的内存。Fresco支持Android 2.3及以上版本,目前已托管至Github上,Fresco官网。
Fresco主要特性
自动释放内存
在Android 4.x及以下版本,Fresco将图片放置在Android内存的一个特殊位置。这可以确保当图像不在屏幕上显示时,可以自动释放它们所占的内存。让应用运行的更快速,且不易崩溃。
解压后的图片和Android的位图都会占据很大的内存,这导致Java 垃圾收集器更频繁的运行,也让应用变得更加缓慢,这一问题在没有对垃圾收集器进行完善的Android 5.0上尤为严重。
使用Fresco的应用,即使在配置低端的设备上也能正常运行,而且你无需经常性地去担心图片的内存占用情况。
Fresco能支持Streaming
Web上的渐进式(Progressive)JPEG图片已经存在多年,打开文件过程中,会先显示整个图片的模糊轮廓,随着扫描次数的增加,图片变得越来越清晰。这种格式可以说是网络较慢情况下的救星,通过图片的轮廓知道正在加载的图片大概是什么。
Android自己的图片库不支持streaming,而Fresco可以,只需指定一个URI,你的应用程序就可以随着数据的到来,自动更新它的显示。
Fresco 加载和处理动画
动画GIF和WebP应该是应用的难点,每一帧都是一个大型的位图,而每个动画都是一系列的帧。Fresco则负责加载和处理这些帧及管理它们的内存。
Drawing 显示图像
Fresco在显示方面使用了Drawees,Fresco的Drawees能够显示占位符,直到图片已加载,并自动显示到图像到达时:
将图片扩展至自定义的焦点,而不是作为处理的中心。
使用圆角化或圆形来显示图像。
如果网络加载失败的话,用户可以点击占位符重新加载图像。
显示自定义背景、浮窗小部件(overlays)或图像上的进度条。
当用户点击图片,自定义浮窗小部件。
Fresco自定义加载
Fresco的图像管道可以让你以多种方法来自定义加载:
为一个图像指定不同的URI,从中选取一个已经缓存的显示。
优先显示低分辨率图像,待数据到达后交换到高的分辨率。
如果图像有EXIF缩略图,首先显示缩略图,直到整个图片被加载出来(只针对本地图片)。
调整或旋转图像。
即使是在老版的Android上也可以解码WebP图像,只不过不是全部支持。
转载自51it技术博客:http://it.51xw.net/internet/100011.html
Facebook推出强大Android 自动释放内存的图片库Fresco相关推荐
- 自动释放内存!Facebook推出强大Android图片库Fresco
自动释放内存!Facebook推出强大Android图片库Fresco 发表于 2015-03-30 17:23| 14728次阅读| 来源 CSDN| 73 条评论| 作者 刘璐璐 移动开发 图 ...
- 【安卓培训 App培训】自动释放内存!Android图片库Fresco
[安卓培训 零基础到就业]QQ:3163173005 摘要:Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络.本地存储和本地资源中加载图片.其中的D ...
- fackbook的Fresco (FaceBook推出的Android图片加载库-Fresco)
[Android开发经验]FaceBook推出的Android图片加载库-Fresco 欢迎关注ndroid-tech-frontier开源项目,定期翻译国外Android优质的技术.开源库.软件架构 ...
- RAMMAP(运行内存清理工具)自动释放内存,并利用pyqt5制作图形界面
上一篇文章用python制作了一个自动清理内存的程序,利用cmd端口调用Rammap,不过只是做了一个托盘图标,这回用pyqt5做一个简单的图形界面,并实现对自动清理模式的一些设置 首先利用pyqt5 ...
- 三星内存android用法,三星One UI(Android 9)自带清理功能:自动释放内存和存储空间...
文章翻译自sammobile,侵删 三星Galaxy手机拥有让设备保持最佳运行所需的所有工具,包括通过停止后台应用程序释放设备内存以及通过删除不必要的文件释放存储空间.但是不能期望用户主动关注这些方面 ...
- android图片释放内存吗,Android手机真的需要经常清理内存吗
Android手机需要清内存吗?需要吗?需要吗?需要吗?结论是再明显不过:不需要!其实这个结论也适用iPhone手机,iOS在内存管理方面更为激进. 很长一段时间以来,人们通过以下的办法清理手机内存 ...
- ARC 没有自动释放内存
http://www.cnblogs.com/qingche/p/4569833.html 定位了好几天,才发现是打印日志没有即时释放内存,使用intrustment 转载于:https://www. ...
- FaceBook推出的Android图片加载库-Fresco
源文件:http://www.mamicode.com/info-detail-544084.html 在Android设备上面,快速高效的显示图片是极为重要的.过去的几年里,我们在如何高效的存储图像 ...
- FaceBook推出的Android图片加载库Fresco
在Android设备上面,快速高效的显示图片是极为重要的.过去的几年里,我们在如何高效的存储图像这方面遇到了很多问题.图片太大,但是手机的内存却很小.每一个像素的R.G.B和alpha通道总共要占用4 ...
最新文章
- java uml 类图 加号_UML建模基础 UML类图的组成元素和关系解析
- c++缓冲区buffer
- 阿里云ECS主机自定义进程监控
- msdn的类型成员描述
- c语言便签程序,Windows7便签程序快捷键
- GoldenGate 12.3微服务架构与传统架构的区别
- android webservice 简单应用
- Web.config文件中的location元素
- 计算机一级学科评选,我系力学被评选为一级学科国家重点学科
- linux的shell键盘输入,linux shell获取键盘输入
- java 前端通过浏览器下载服务器上的文件
- 2020最新xcode打包IPA(完整详细图文详解)
- 2011年课外书 杂书总结感想
- 奇妙的裴波那契数列和黄金分割
- script什么意思中文翻译成,script中文是什么意思
- Quartus (Quartus Prime 18.1)的安装及仿真步骤
- Web报表系统葡萄城报表:财务报表分析
- 【5G系列】MICO学习总结(3)
- 直播技术总结(一)流媒体服务器搭建,进行推流
- ZT中国制造的神奇硬盘
热门文章
- 将Django项目部署到服务器
- PHP登录与注册页面简单实现(包含数据库验证)(包含数据库)
- 江西会考计算机考试题目,江西省信息技术会考操作题知识要点汇总
- C语言编译能否被七整除,C++编程判断一个整数能否被3、5、7整除的几种方法
- 镜像css3,利用css动画属性rotate来实现镜像翻转_WEB前端开发
- 第二本书 unit7访问网络文件共享系统
- 如何正确努力?7 分钟重新认识冰山模型。
- CefSharp 常用设置
- 嵌入式C语言自我修养——从芯片、编译器到操作系统
- 高中计算机一级基础知识,2017全国计算机一级MS Office考证常考知识点-高中课件精选.doc...