glide加载gif卡顿的原因

起因

设计师同学觉得旧的图太丑了,于是做了一张新图,还是一张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加载外适用还是比较好的

猜你喜欢

转载自blog.csdn.net/taowuhua0505/article/details/80165615