图片加载库Glide

本文介绍了Glide图片加载库的导入和使用方法,相较于Universal-ImageLoader和Picasso,Glide的特点在于能加载gif动画和本地视频,内存控制优秀,以及更快的缓存加载速度。Glide的内存默认质量为RGB-565,有效降低OOM风险,同时根据ImageView大小进行缓存,提高加载效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html

在实验室的Q群上看到有唯品会的师兄推荐这个图片加载库,自己上网搜并试用过之后感觉非常喜欢,参见“泡在网上的日子”上一篇博文,谈谈自己的一些见解。以下内容大部分参加原文。

在android studio 上导入该库非常简单

dependencies {
    compile 'com.github.bumptech.glide:glide:3.5.2'
    compile 'com.android.support:support-v4:22.0.0'
}

官方推荐是导入上面两句,然而我的Gradle原本是v7的包,顾不导入v4并没有什么问题。
这里写图片描述

如此就成功导入了。

接下来看下如何用这个库加载图片,和大家最为熟知的Universal-ImageLoader
不同,这个库的使用非常的简单。不需要配置Config之类的,直接在setImage的地方调用它就行。

如加载一张简单的ImageView:

Glide.with(mContext)
                .load("http:\\www.baidu.xxx.jpg")//uri
                .diskCacheStrategy(DiskCacheStrategy.ALL)//缓存全尺寸
                .into(mImage);//图片控件

如果在ListView里面呢也是大同小异啦,

Glide.with(mContext)
                .load(datas.get(position))//uri
                .fit()
                .centerCrop()
                .diskCacheStrategy(DiskCacheStrategy.ALL) //缓存全尺寸
                .into(holder.mImage);//图片控件

在上面的原文链接中介绍了Glide对比于Picasso的优异之处,总结有以下几个:
1. Glide除了能够加载图片之外还能加载gif动画picasso则只能把gif图加载成静态图片,Glide还能将本地视频解码成一张静态图片,这点picasso就没有;
2. Glide最为吸引我的地方就是它的内存控制,图片默认质量为RGB-565,Picasso的图片默认质量为RGB-8888;(565所占用的内存是8888的一半而已)。当然也就是说,Picasso加载出来的图片质量要高于Glide,但Glide却能大幅度减低OOM的发生概率。
3. 从缓存中加载图片的速度,Picasso从缓存中加载图片的速度没有Glide的迅速,这一点是因为Picasso图片缓存本身就是以最大尺寸(统一尺寸)进行缓存,当ImageView大小有变化时,缓存加载图片时它要先将图片调整为适应大小后才进行加载;而Glide图片缓存是根据ImageView的大小进行缓存的,加载缓存中图片时,全尺寸的图片将从缓存中取出,重新调整大小,然后缓存。

 .diskCacheStrategy(DiskCacheStrategy.ALL)//缓存全尺寸

上面提到的Picasso我没有使用过,后期研究后再写一篇这种图片缓存的小结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值