第一、依需求而定 ;对于一般需求,图片的加载推荐使用Glide。
英文原文 Introduction to Glide, Image Loader Library for Android, recommended by Google
首发地址 http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html
参考资料:http://fresco-cn.org/docs/getting-started.html#_
http://www.wfuyu.com/technology/23636.html
fresco是facebook推出的一款强大的android图片处理库, github地址:https://github.com/facebook/fresco 里面有官方的使用配置文档,而且是中文的。
第二、说一下Glide、Picaso、Fresco三者的区 别:
Picasso
dependencies { compile 'com.squareup.picasso:picasso:2.5.1' }
Glide
dependencies { compile 'com.github.bumptech.glide:glide:3.5.2' compile 'com.android.support:support-v4:22.0.0' } Glide加载图片的方法和Picasso如出一辙。
Picasso
Picasso. with (context) .load("http://inthecheesefactory.com/uploads/source/glidepicasso/cover.jpg" ) .into(ivImg);
Glide
Glide. with (context) .load("http://inthecheesefactory.com/uploads/source/glidepicasso/cover.jpg" ) .into(ivImg);
虽然两者看起来一样,但是Glide更为容易使用,因为Glide的with方法不光接受Context,还接受Activity 和 Fragment,Context会自动的从他们获取,同时将 Activity/Fragment 作为 with()参数的好处是:图片加载会和 Activity/Fragment 的生命周期保持一致,比如 Paused 状态在暂停加载,在 Resumed 的时候又自动重新加载, 并且 Glide 在缓存策略和加载 gif 方面略胜一筹。 这样使用起来更为方便!!!
Glide加载的图片的默认格式是RGB-565的,而Picasso加载的图片格式是ARGB-8888的,所以在还原真实图片大小时,Picasso 显示的更为平滑一些,即使Glide使用ARGB-8888格式,内存开销也是比Picasso要小的多;主要Glide能够加载GIF格式的图片,而Picasso不能;
Fresco
内存管理
Fresco 的最大亮点在于它的内存管理。解压后的图片,即 Android 中的 Bitmap ,占用大量的内存,在 Android 5.0以下系统中,这会显著地引发界面卡顿。而使用 Fresco 将很好地解决这个问题,Fresco 会将图片放到一个特别的内存区域,当图片不再显示的时候,占用的内存会自动被释放,这会使得 APP 更流畅,减少因图片内存占用而引发的 OOM。当 APP 包含的图片较多时,这个效果尤其明显。 Fresco 支持图像的渐进式呈现 ,渐进式的图片格式先呈现大致的图片轮廓,然后随着图片下载的继续,逐渐呈现清晰的图片,这在低网速情况下浏览图片十分有帮助,可以带来更好地用户体验。另外,Fresco 支持加载 gif 图,支持 WebP 格式,但是Fresco的SDK被gridle打包之后发布release版本时,APP大小能增加几M,这对于一般的APP来说,并没有大量的图片需要显示的需求。显然是不适用的,所以推荐使用Glide。