Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在tableview进行刷新时,cell里的webp动图会闪烁一下 #85

Open
chenfei533 opened this issue Oct 22, 2024 · 13 comments
Open

Comments

@chenfei533
Copy link

在版本1.4.1及以下版本没有这个问题,目前我想升级至1.6.x来解决偶现的大图OOM问题。有什么办法可以规避闪烁的现象吗?

@yeatse
Copy link
Owner

yeatse commented Oct 22, 2024

能发个demo吗 我复现下

@chenfei533
Copy link
Author

能发个演示吗 我重复下
WebPDemo.zip
请查收

@chenfei533
Copy link
Author

哈喽,最近有什么进展吗

@yeatse
Copy link
Owner

yeatse commented Nov 4, 2024

@chenfei533 options 加上 .keepCurrentImageWhileLoading 应该就好了

@yeatse
Copy link
Owner

yeatse commented Nov 4, 2024

@chenfei533 options 加上 .keepCurrentImageWhileLoading 应该就好了

另外,如果是动图的话,1.6.x 以后的版本,把 UIImageView 换成 AnimatedImageView 会在性能上好不少

@Yoo-000
Copy link

Yoo-000 commented Nov 5, 2024

@chenfei533 options 加上 .keepCurrentImageWhileLoading 应该就好了

另外,如果是动图的话,1.6.x 以后的版本,把 UIImageView 换成 AnimatedImageView 会在性能上好不少

使用 AnimatedImageView 时怎么控制webp的播放次数呢,我使用 repeatcount 设置为 once 或者 1 时没有效果,动图一直播放不会停止

@Yoo-000
Copy link

Yoo-000 commented Nov 5, 2024

@chenfei533 options 加上 .keepCurrentImageWhileLoading 应该就好了

你好,加上 keepCurrentImageWhileLoading 后对于图片不多的界面有作用,但是若界面内需要加载的图片很多时,图片仍会闪烁并且部分图片加载的位置会错乱

@chenfei533
Copy link
Author

@chenfei533 options 加上 .keepCurrentImageWhileLoading 应该就好了

另外,如果是动图的话,1.6.x 以后的版本,把 UIImageView 换成 AnimatedImageView 会在性能上好不少

使用 AnimatedImageView 时怎么控制webp的播放次数呢,我使用 repeatcount 设置为 once 或者 1 时没有效果,动图一直播放不会停止

我们目前需要控制次数或者帧数的地方是用YY去加载的

@chenfei533
Copy link
Author

@chenfei533 options 加上 .keepCurrentImageWhileLoading 应该就好了

你好,加上 keepCurrentImageWhileLoading 后对于图片不多的界面有作用,但是若界面内需要加载的图片很多时,图片仍会闪烁并且部分图片加载的位置会错乱

如果在tableview的cell里使用keepCurrentImageWhileLoading,会导致复用问题,应该就是你说的错乱。目前也是没想到好的解决办法来处理闪烁。。

@yeatse
Copy link
Owner

yeatse commented Nov 6, 2024

options 加上 .processingQueue(.mainCurrentOrAsync) 再试试?

@yeatse
Copy link
Owner

yeatse commented Nov 6, 2024

@chenfei533 options 加上 .keepCurrentImageWhileLoading 应该就好了

另外,如果是动图的话,1.6.x 以后的版本,把 UIImageView 换成 AnimatedImageView 会在性能上好不少

使用 AnimatedImageView 时怎么控制webp的播放次数呢,我使用 repeatcount 设置为 once 或者 1 时没有效果,动图一直播放不会停止

repeatCount 在 1.5.2 以后才生效:https://github.com/yeatse/KingfisherWebP/releases/tag/1.5.2

@chenfei533
Copy link
Author

options 加上 .processingQueue(.mainCurrentOrAsync) 再试试?

我们一个cell里有5、6个动图,加上这个会有UI阻塞的问题。。

@Yoo-000
Copy link

Yoo-000 commented Nov 8, 2024

options 加上 .processingQueue(.mainCurrentOrAsync) 再试试?

我们一个cell里有5、6个动图,加上这个会有UI阻塞的问题。。

确实,没有动图的时候加上这个没有影响,有动图时加上该条件后每次刷新内存消耗都会激增,性能不好的手机甚至会因为内存激增闪退

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants