谷歌推荐的图片加载框架--Glide的简单介绍
2016-02-25 21:07
253 查看
今天就来总结一下glide图片加载框架的简单使用。glide在项目中用来加载图片。在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。
我们看下怎么使用吧:
对于picasso(添加依赖):
Picasso使用:
[b]Glide使用:[/b]
是不是很像,就连加载图片的方式也是,只不过glide有下面的优势。
Glide加载图片,它会为每种大小的ImageView缓存一次。尽管一张图片已经缓存了一次,但是假如你要在另外一个地方再次以不同尺寸显示,需要重新下载,调整成新尺寸的大小,然后将这个尺寸的也缓存起来。
每次缓存带来的问题:
具体说来就是:假如在第一个页面有一个200x200的ImageView,在第二个页面有一个100x100的ImageView,这两个ImageView本来是要显示同一张图片,却需要下载两次。不过我们可以设置不过,你可以改变这种行为,让Glide既缓存全尺寸又缓存其他尺寸:
下次在任何ImageView中加载图片的时候,全尺寸的图片将从缓存中取出,重新调整大小,然后缓存。这样就达到了glide快速的加载图片。
好了,我们来加载一张正常的图片吧。加载图片如下所示:
接下来我们来加载一张gif图,看看效果:
是不是Glide和Picasso用起来都很简单哈,我在练手的项目中使用的是Glide图片加载(毕竟是亲儿子吗)。用起来还是不错的,这里只是简单的介绍了怎么使用,如果想要了解更多的知识,请看这一篇文章,介绍的特别详细。Google推荐的图片加载库Glide介绍
我们看下怎么使用吧:
第一步,添加依赖
对于glide(添加依赖):compile 'com.github.bumptech.glide:glide:3.7.0'
对于picasso(添加依赖):
compile 'com.squareup.picasso:picasso:2.5.2'
第二步,简单使用
glide和picasso很相似,简直就是picasso的复制版本。为什么这么说呢,我们来看下他们倆加载图片时候的代码Picasso使用:
[code]Picasso.with(this).load(url).placeholder(R.mipmap.image_demo) .error(R.mipmap.load_error_bak) .into(mImageView);
[b]Glide使用:[/b]
[code] Glide.with(this).load(url).asBitmap() .error(R.mipmap.load_error_bak) .transform(变形) //占位图 .placeholder(R.mipmap.image_demo) .into(mImageView);
是不是很像,就连加载图片的方式也是,只不过glide有下面的优势。
Glide 的优势:
相对于Picasso而言,Glide 与 Picasso 的使用方法基本类似。Picasso 在缓存图片的时候是缓存全尺寸的图片,而 Glide 则是根据ImageView 的大小进行缓存的。而且,Glide 做到了Picasso没有做到的:加载 Gif.Glide加载图片,它会为每种大小的ImageView缓存一次。尽管一张图片已经缓存了一次,但是假如你要在另外一个地方再次以不同尺寸显示,需要重新下载,调整成新尺寸的大小,然后将这个尺寸的也缓存起来。
每次缓存带来的问题:
具体说来就是:假如在第一个页面有一个200x200的ImageView,在第二个页面有一个100x100的ImageView,这两个ImageView本来是要显示同一张图片,却需要下载两次。不过我们可以设置不过,你可以改变这种行为,让Glide既缓存全尺寸又缓存其他尺寸:
[code] ` Glide.with(this).load(url).asBitmap() .diskCacheStrategy(DiskCacheStrategy.ALL) .into(mImageView);`
下次在任何ImageView中加载图片的时候,全尺寸的图片将从缓存中取出,重新调整大小,然后缓存。这样就达到了glide快速的加载图片。
好了,我们来加载一张正常的图片吧。加载图片如下所示:
接下来我们来加载一张gif图,看看效果:
是不是Glide和Picasso用起来都很简单哈,我在练手的项目中使用的是Glide图片加载(毕竟是亲儿子吗)。用起来还是不错的,这里只是简单的介绍了怎么使用,如果想要了解更多的知识,请看这一篇文章,介绍的特别详细。Google推荐的图片加载库Glide介绍
相关文章推荐
- Java 常见面试题整理
- HDU1532 - Drainage Ditches(网络流)
- 我们编程吧 之 Linux 学习手册0.41
- 网络编程_UDP编程原理_发送类型_cs与bs区别JAVA187-188
- 【POJ 2750】 Potted Flower(线段树套dp)
- TWinControl.DefaultHandler里的CallWindowProc(FDefWndProc)还挺有深意的,TButton对WM_PAINT消息的处理就是靠它来处理的(以前不明白为什么总是要调用inherited,其实就是没有明白TWinControl.DefaultHandler的真正用处,而且还很有用)
- Log4j详解
- 【ADO】回头复习,总是会有新的收获
- 一个自动根据xcode中的objective-c代码生成类关系图的神器
- MVC视图展现模式之移动布局解析-续集
- android开发之路01
- 内存计算
- 欢迎使用CSDN-markdown编辑器
- QT离线安装包下载地址
- iOS 导航条的基本用法
- java知识结构树
- 震动效果
- POJ2186 Popular Cows 【强连通分量】+【Kosaraju】+【Tarjan】+【Garbow】
- 160225、解决纯js文件国际化的问题
- 上线流程