起因
设计师同学觉得旧的图太丑了,于是做了一张新图,还是一张GIF
然后就换图呗..然后就发现一系列问题
compile ‘com.github.bumptech.glide:glide:3.8.0’
然后很自然的就遇到了gif加载不出来的问题
这个问题有很多人遇到了,就不复述了
Glide.with(this)
.load(R.drawable.gif_cat)
.asGif()
.fitCenter()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(ivUpdate);
- 1
- 2
- 3
- 4
- 5
- 6
这就可以加载出gif了
然后运行看效果,发现在性能比较好的新手机上,可以正常的流畅的播放
但是在性能比较差的旧手机就不行了
有很明显的卡顿现象
然后接着百度找原因:glide gif 卡
发现大部分都是以 .diskCacheStrategy(DiskCacheStrategy.SOURCE)
就解决了
这就很神奇了
我明明已经加了这句话了
接着对比了下在电脑上播放和手机上播放效果
似乎不是卡的问题,也不是掉帧的问题,是播放速率不同
接着百度找:glide gif 速率(没找到答案)
再找官方文档:同样没找到答案
最后在翻issues时发现有人提出了同样的问题,可惜没回答
https://github.com/bumptech/glide/issues/2175
但是再翻issues的时,别人推荐了另外一个gif框架
https://github.com/koral–/android-gif-drawable
换了一个框架之后,居然可以流畅播放了
接着翻issues
https://github.com/bumptech/glide/issues/1652
回答表示可能是无法快速解码导致的
希望glide可以早日解决这个问题吧
glide在除了gif加载外适用还是比较好的