ios - 打破动画。

标签 ios objective-c animation uiimageview uianimation

大家好我的应用程序我想做一个动画。 动画有 160 帧,我希望它持续 10 秒并循环播放。

因为它创建了一个带有框架的数组和一个 UIImageView。

UIImageView *animImageView;
...
NSArray *arrayAnim = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"image0001"],...,nil];

animImageView.animationImages=arrayAnim;
animImageView.animationDuration=10;
[animImageView startAnimating];

这个结果并获得了动画,但在我开始动画时,我的应用程序中断了 7 秒。 有什么办法可以避免这种延迟?

最佳答案

您几乎可以肯定使用了太多内存。每个图像 640 x 1136 x 4bpp = 2908160 字节的内存。对于 160 张图片,需要 465 MB 的 RAM(甚至超过 3GS!)

在不知道您的动画是什么样子的情况下,我建议您尝试使用 UIView 动态构建动画并实时为 subview 设置动画,而不是使用预渲染帧。

关于ios - 打破动画。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597784/

相关文章:

html - CSS3 导航按钮动画

ios - 没有重复使用的表格单元格的索引路径

ios - 在 iOS 中滚动时保留 TableView 单元格中的按钮状态

ios - 如何停止 NStimer 事件?

c# - Objective-C 中的字符串加密在 C# 中解密

javascript - 如何向内显示一个div到视口(viewport)

ios - Xcode 下载 : "The certificate for this server is invalid"

ios - 自定义 UIViewController 的子类化到底是如何工作的?

iphone - Objective C 中的日期格式(iOS SDK)

Android 查看动画到顶部父级