这是FrescoLibForEclipse下载,Fresco是一个(gè)由facebook开源的强(qiáng)大的图片显示系(xì)统(tǒng)。Fresco考虑到(dào)了安卓中图片加载的几乎(hū)所有问题,可(kě)以加载来自网络(luò)、本地、以及应用(yòng)资源文(wén)件中的图片,同时在(zài)图片加载完成之前(qián)会显示一个(gè)占位(wèi)图(tú)片,提(tí)供二级缓存,还支持gif动态图。Fresco将图(tú)片放在一个特殊的内存区(qū)域,因此更(gèng)容易避免OutOfMemoryError。这是(shì)以个以c++思维方式写出的java程序(Write code in Java, but think like C++ )。缺(quē)点:过于(yú)庞大。
Fresco 是(shì)一个强大的图片加载组件(jiàn)。
Fresco 中设计有一个叫做 image pipeline 的模块。它负责从网络,从本地文(wén)件(jiàn)系统,本地(dì)资源加载图片。为了最大(dà)限度节省(shěng)空间和CPU时(shí)间(jiān),它含(hán)有3级缓存设计(2级内存,1级文件)。
Fresco 中设计(jì)有一个叫做 Drawees 模块,方便(biàn)地显示loading图,当图片不(bú)再显示(shì)在屏幕(mù)上(shàng)时,及时(shí)地释放内存和空间占用。
Fresco 支持 androids2.3(API level 9) 及其以上系统。
解压后(hòu)的图片,即androids中的Bitmap,占(zhàn)用大量的内存(cún)。大(dà)的内存占(zhàn)用势(shì)必引发更加频繁的(de)GC。在5.0以下,GC将会显著地(dì)引发界面卡顿。
在(zài)5.0以下系统,Fresco将图(tú)片放到一个特(tè)别的内存区域。当然,在(zài)图片(piàn)不显示的时(shí)候,占用的内存会自动(dòng)被释放。这会使得(dé)APP更(gèng)加(jiā)流畅,减少因(yīn)图片内存占用(yòng)而引发的(de)OOM。
Fresco 在低端机器上表现一样出色(sè),你(nǐ)再也不用(yòng)因(yīn)图片内存占用而思前想(xiǎng)后。
渐(jiàn)进式的JPEG图片(piàn)格(gé)式已经流行数年了,渐进(jìn)式图片(piàn)格式先呈现大致的图片轮廓(kuò),然后(hòu)随着图片下载的继续,呈现逐渐清(qīng)晰的图片,这对于移动设备,尤(yóu)其是(shì)慢网络有极大(dà)的利好,可带来更好的(de)用户体验。
androids 本(běn)身的图片(piàn)库(kù)不支持此格式,但是Fresco支(zhī)持。使用(yòng)时,和(hé)往常一样,仅(jǐn)仅(jǐn)需要提供一(yī)个图片(piàn)的URI即可,剩(shèng)下的事情,Fresco会处理。
