1

我阅读了有关该主题的所有其他类似问题/答案,但是我发现很难将答案与我的问题联系起来。我有一个包含 280 多个图像的动画(在短暂暂停后)在模拟器上运行,并导致 iPad 设备一起崩溃(一旦我按下播放按钮)。我猜这是一个内存问题,有没有办法一次只加载一定数量的动画而不是一次加载所有动画(也许是一个可能的解决方案。

请看我的代码:

 NSMutableArray *array = [NSMutableArray array];
for (int i=2; i < 288; i++) {
    NSString *name = [NSString stringWithFormat:@"invasive%04d.png", i];
    UIImage *image = [UIImage imageNamed:name];
    if (!image) {
        NSLog(@"Could not load: %@", name);
    }
    else {
        [array addObject:image];
    }
}

self.imageView.animationImages = array;

我在我的代码上运行了“分析”,没有任何问题。

谢谢大家。

4

2 回答 2

0

我怀疑这个功能是为这样的任务而设计的。看看使用 CADisplayLink 并在那里进行显示更新。您的主应用程序可以将 10 张左右的图像保留在显示链接之前,并且 displayLink 可以在完成后立即发布图像。环顾四周,发现有人已经发布了执行此操作的代码(使用 CADisplayLink 的键)。

于 2013-05-19T15:58:39.627 回答
0

当仅崩溃设备时,我建议使用 crashlytics 服务来检测崩溃。

http://www.crashlytics.com。免费。

于 2014-01-28T06:12:32.773 回答