加速第一个 UIImageView 动画(强制缓存图像)

Posted

技术标签:

【中文标题】加速第一个 UIImageView 动画(强制缓存图像)【英文标题】:Speed up first UIImageView animation (force cache the images) 【发布时间】:2011-08-01 03:11:20 【问题描述】:

我的应用包含大约 25 帧的动画。动画由按钮触发,一切正常。但是,在第一次调用动画时,会有几秒钟的延迟。

我知道这是因为图像在动画中首次运行时需要缓存,而我有大约 2mb 的缓存空间。

出于这个原因,我希望 Apple 实现 [animation prepareToPlay] 方法。

与此同时,我正在 viewDidLoad 中运行动画。这会在初始屏幕期间缓存图像,然后显示动画。

我想考虑两种选择。

这首先是在初始屏幕期间初始化时强制缓存图像,加载视图时播放动画。 (阅读:自定义 UIImageView prepareToPlay 方法)--- 此解决方案将是理想的。

第二种选择是保留我当前的代码,在加载视图后在启动时运行动画,但在第一个动画完成之前禁用调用按钮。由于 UIImageView 没有自己的完成通知,最好的解决方案是设置一个等于动画持续时间的计时器并启用按钮和所述计时器的结束吗?

提前致谢, 格雷格

TL;DR --- 如何在初始化时强制缓存动画图像。

【问题讨论】:

您的问题解决了吗?我也面临这个问题。如果您与我分享您的解决方案,那就太好了。谢谢 见***.com/questions/19820701/… 【参考方案1】:

我也遇到了和你一样的问题。我在这里创建了自己的问题,并且得到了很好的答案。在这里查看:Does UIImageView cache images? 祝你好运!

【讨论】:

以上是关于加速第一个 UIImageView 动画(强制缓存图像)的主要内容,如果未能解决你的问题,请参考以下文章

Xcode UIImageView 动画跳回原来的位置..

css CSS3,动画:使用translate3d强制WebKit中的硬件加速

在视图控制器之间切换时,图像旋转动画会加速吗

UIImageView 等待动画完成

阿里云CDN缓存加速学习总结

动画 UIImageView 的 CHANGE 只有一个图像