Glide加载视频缩略图、gif图片

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33275597/article/details/81531569

1: 加载本地视频缩略图,一般是指加载视频的第一帧画面的缩略图

  Glide.with(context).load(videoFileUrl).diskCacheStrategy(DiskCacheStrategy.RESULT)
                    .crossFade().centerCrop().placeholder(placeHolder).error(placeHolder).into(new GlideDrawableImageViewTarget(imageview));

Glide加载视频缩略图不显示,不能设置为DiskCacheStrategy.SOURCE,需要设置为DiskCacheStrategy.RESULT,否则不仅不显示视频缩略图,还会导致页面卡顿,app性能下降

DiskCacheStrategy.NONE 什么都不缓存
DiskCacheStrategy.SOURCE 仅仅只缓存原来的全分辨率的图像。在我们上面的例子中,将会只有一个 1000x1000 像素的图片
DiskCacheStrategy.RESULT 仅仅缓存最终的图像,即降低分辨率后的(或者是转换后的)
DiskCacheStrategy.ALL 缓存所有版本的图像(默认配置)

2: 加载gif图片

Glide.with(context).load(uri).asGif().placeholder(placeHolder).into(imageview);

在大多数情况下,当你使用diskCacheStrategy(DiskCacheStrategy.SOURCE)时,Gif的加载速度会显着提高(其实就是把gif资源缓存到磁盘)->可以解决gif加载慢或加载不出来的情况(SOURCE是缓存原型,原图)

Glide.with(context).load(uri).asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE).placeholder(placeHolder).into(imageview);

如果想控制显示gif图动画的次数,比如我想显示一次gif就停止

Glide.with(context).load(uri).diskCacheStrategy(DiskCacheStrategy.SOURCE).placeholder(placeHolder).error(placeHolder).into(new GlideDrawableImageViewTarget(imageview,1));

猜你喜欢

转载自blog.csdn.net/qq_33275597/article/details/81531569