使用 Fresco 在 RecyclerView 中闪烁的 Gif

Gif blinking in RecyclerView using Fresco

我使用 Fresco 在 Recyclerview 中加载 gif。

这是我的科特林代码:

fun loadResizeImage(uri: Uri, view: SimpleDraweeView, width: Int, height: Int) {
    val request = ImageRequestBuilder.newBuilderWithSource(uri)
            .setResizeOptions(ResizeOptions(width, height)).build()

val controller = Fresco.newDraweeControllerBuilder()
        .setOldController(view.controller)
        .setImageRequest(request)
        .build()
view.controller = controller

我不播放 gif,我只是将其加载为静态图像。但是当我调用 notifydatasetchanged 时,gif 会闪烁。 我已将 supportsChangeAnimations 设置为 false,只有 gif 在闪烁。谁能帮帮我?

我的解决方案是为视图设置标签,如果标签等于 uri,我将不会重新加载图像。但是我发现当我调用 notifyDataSetChange 时,我设置到视图的标签是 changed.but 当我调用 notifyItemChanged 时,它并没有't.I 不知道标签为什么改变(我没有滚动 RecyclerView) .