ios - 首次运行时关键帧动画延迟

标签 ios animation cakeyframeanimation

我正在使用关键帧动画来制作图像序列的动画。但是当我第一次运行它时,动画开始之前会出现延迟。之后就可以顺利运行了。我尝试强制加载所有图像。它减少了延迟,但仍然可见。如何进一步减少延迟。

最佳答案

Apple因使用“延迟”加载技术而臭名昭著,并且很可能放置从“[UIImage imageNamed:]”检索到的图像实际上并没有创建缓存位图,而只是创建它的收据。

如果所有其他方法都失败,请尝试暴力方法:通过在上下文中渲染图像来强制系统渲染它,然后将其丢弃。

CGSize bigSize; // MAX width and height of your images

UIGraphicsBeginImageContextWithOptions(bigSize, YES, 0);
CGContextRef context = UIGraphicsGetCurrentContext();

for(UIImage *image in arrayOfImages) {
    CGContextDrawImage(context, (CGRect){ {0,0}, image.size }, [image CGImage]);
}
UIGraphicsEndImageContext();

现在您不仅拥有对图像的引用,而且还强制渲染它们,因此希望系统保留该内部位图。对您来说应该是一个简单的测试。

关于ios - 首次运行时关键帧动画延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11844481/

相关文章:

iphone - UITableView内容大小和行高

ios - UITableViewCell 中的 UIView 位置问题 - 已更新

ios - 如何设置全局样式?

ios - "Unknown type name"使用 YACC 和 xcode

ios - 同一对象上的 2 个动画,仅最后一次显示。如何显示第一个没有嵌套完成 block 的?

ios - 动画期间无法获取 CALayer 的当前位置

javascript - 添加/删除类的导航菜单动画

ios - Swift:UIView.transitionWithView 完成 block 问题

android - Android 的 animTime 常量的实际毫秒时间值是多少?

ios - 使用 CoreAnimation 时出现 EXC_BAD_ACCESS