gpt4 book ai didi

android - 使用 Retaining Data Source Supplier 播放动画图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:04:02 26 4
gpt4 key购买 nike

我正在使用 fresco 在 RecyclerView 中显示 gif。用户点击图像后,我会打开一个详细信息屏幕,最后我应该在该屏幕上显示高分辨率 GIF。

如果我只是在同一个 DraweeView 中加载另一个 GIF,内容将消失,因为这是 Fresco 的工作方式,用户将在加载高分辨率图像时看到黑色图像,尽管我已经有了提供低质量预览。

我也尝试过使用低分辨率/高分辨率方案,但是在加载高分辨率图像时,低分辨率没有动画。

后来我在 Fresco 中发现了 RetainingDataSourceSupplier,它的工作原理是将当前图像保存在 DraweeView 中,直到加载新图像。这工作正常,但它似乎不适用于动画内容。

你能帮我保留当前的动画内容,直到下载高质量的动画内容吗?

最佳答案

我最终重写了 Fresco 的某些部分。基本上,RetainingDataSource 是在破解 DataSource 的实现,将其状态永远保持在 PROGRESS 中。这意味着当将新资源放入 DataSource 时, Controller 将永远不会收到通知,并且它们将永远无法播放 GIF。

我通过修改 fresco 库代码来解决这个问题,并在每次加载资源后通知 Controller 。我已经对 fresco 进行了 PR,也许他们会同意这些更改,因为我认为 RetainingDataSource 不完整。

你可以在这里查看 PR:

Proper support for GIFs when using a RetainingDataSource

关于android - 使用 Retaining Data Source Supplier 播放动画图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51797384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com