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