播放 GIF 时使用率高 CPU
High CPU usage when playing GIFs
我在 RecyclerView 中显示 GIF。代码:
Glide.with(acitivity)
.load(url)
.placeholder(R.drawable.image_placeholder)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.listener(listener)
.into(viewHolder.imageView);
如果我将包含此 RecyclerView 的片段保持打开状态,则应用程序会使用大量 CPU (~40%)。如果我使用 Fragment 1-2 分钟,phone 会升温。 GIF 是正常的吗?我做错了什么吗?
在 Github 上得到了 Glide 贡献者的回应。这是他们所说的 -
High CPU consumption is normal. Glide does this to save memory and eventually the evil OOM Exceptions.
建议 -
- Use static
Bitmap
image for preview, avoid auto-play.
- Use timeout or
setLoopCount
on GlideDrawable/GifDrawable
更多:https://github.com/bumptech/glide/issues/1029
编辑:
如果您使用的是 ViewPager,请检查此问题:https://github.com/bumptech/glide/issues/1028
我在 RecyclerView 中显示 GIF。代码:
Glide.with(acitivity)
.load(url)
.placeholder(R.drawable.image_placeholder)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.listener(listener)
.into(viewHolder.imageView);
如果我将包含此 RecyclerView 的片段保持打开状态,则应用程序会使用大量 CPU (~40%)。如果我使用 Fragment 1-2 分钟,phone 会升温。 GIF 是正常的吗?我做错了什么吗?
在 Github 上得到了 Glide 贡献者的回应。这是他们所说的 -
High CPU consumption is normal. Glide does this to save memory and eventually the evil OOM Exceptions.
建议 -
- Use static
Bitmap
image for preview, avoid auto-play.- Use timeout or
setLoopCount
onGlideDrawable/GifDrawable
更多:https://github.com/bumptech/glide/issues/1029
编辑:
如果您使用的是 ViewPager,请检查此问题:https://github.com/bumptech/glide/issues/1028