gpt4 book ai didi

android - recyclerView 滚动有延迟

转载 作者:行者123 更新时间:2023-11-30 05:04:00 26 4
gpt4 key购买 nike

我有一个具有匹配父项的 recyclerView。在 recyclerView 项中,我有 48 个相关布局和一个背景,它可以毫无问题地滚动。由于我在项目中添加了 lottie animationView,因此 recyclerView 滚动但有延迟。我尝试更改缓存大小、当动画从窗口分离时暂停动画、压缩背景图像、使用另一个线程、将图像转换为位图,但都没有帮助。

我应该尝试绘制 View 或类似的东西,还是我可以做其他事情?

最佳答案

我的解决方案是使用不同的方法来播放动画。

我的第一个选择是 gif,但是 gif 有透明度,如果你有一个有透明部分的动画,动画有一个白色的边框,使用起来非常糟糕。

另一种方法是使用 apng; apng 是 png 的动画版本,它解决了透明度问题,但是在 recyclerView 中它有问题,比如当你向上或向下滚动 recyclerView 时,动画会离开屏幕,它会停止,你应该在任何时候设置动画它附加到 Windows,它降低了性能。

这个问题的最终解决方案是 Webp。 Webp 是一种由谷歌创建的格式,您可以在 Android 中通过 Fresco 库使用它,并使用 webp 动画图像。该库没有透明度问题并且性能非常高,实际上动画大小小于 Lottie 动画!

这是我调用 Fresco 库的代码:

 DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(yourUri)
.setAutoPlayAnimations(true)
.build();

并轻松将 Controller 设置为 SimpleDraweeView:

simpleDraweeView.setController(controller);

关于android - recyclerView 滚动有延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54881040/

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