Glide的使用

Picasso是不支持加载GIF图片的!!!


依赖
dependencies {
    compile 'com.github.bumptech.glide:glide:3.7.0'
}


网络权限
<uses-permission android:name="android.permission.INTERNET" />


http://www.cndog.net/tpb/2013-12/14/14970-6031.jpg


基础用法:
Glide.with(this).load(url).into(imageView);


// 加载本地图片
File file = new File(getExternalCacheDir() + "/image.jpg");
Glide.with(this).load(file).into(imageView);


// 加载应用资源
int resource = R.drawable.image;
Glide.with(this).load(resource).into(imageView);


// 加载二进制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);


// 加载Uri对象
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);


占位图
Glide.with(this)
     .load(url)
     .placeholder(R.drawable.loading)
     .into(imageView);




Glide禁用缓存功能(硬盘缓存:LruCache算法   Google提供了一个现成的工具类DiskLruCache)
  .diskCacheStrategy(DiskCacheStrategy.NONE)


DiskCacheStrategy.NONE: 表示不缓存任何内容。
DiskCacheStrategy.SOURCE: 表示只缓存原始图片。
DiskCacheStrategy.RESULT: 表示只缓存转换过后的图片(默认选项)。
DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。




禁用内存缓存(内存缓存是通过LruCache算法+弱引用)
 .skipMemoryCache(true)




这样我们就将Glide硬盘缓存的实现原理也分析完了。虽然这些源码看上去如此的复杂,但是经过Glide出色的封装,使得我们只需要通过skipMemoryCache()和diskCacheStrategy()这两个方法就可以轻松自如地控制Glide的缓存功能了。




Glide异常占位图
     .error(R.drawable.error)


//gif图:http://p1.pstatp.com/large/166200019850062839d3
load()方法的后面加入了一个asBitmap()方法,这里只允许加载静态图片,不需要Glide去帮我们自动进行图片格式的判断了。
asGif():强制加载gif图


.override(100, 100)
Glide现在只会将图片加载成100*100像素的尺寸,而不会管ImageView的大小是多少。




缩略图:  .thumbnail(0.1f)  原图的1/10作为缩略图先显示,然后显示原图




对图片进行裁剪、模糊、滤镜等处理: 
依赖:
 compile 'jp.wasabeef:glide-transformations:2.0.0'









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值