2013-05-06 121 views
0

该应用程序使用一系列jpg和一个计时器来逐步制作动画。iPhone应用程序翻动画设备上的应用程序崩溃

在设备上的动画,它崩溃(didReceiveMemoryWarningError。)

我是新iPhone编程和Objective-C。我该如何优化iPhone的这个动画书?

我可以想象,简单地压缩jpeg的,也许失去一些质量会有所帮助,但我的理解是iPhone在设备上做了自己的图像压缩/解压缩,我可能会浪费我的时间。

+0

你应该释放你已经使用的所有图像。运行仪器工具来查找内存泄漏或运行“分析”。也许看看你的代码显示图像等 – geo 2013-05-07 00:28:29

+0

我需要运行相同的动画至少几次,每次应用程序打开,所以不能轻易地将它们删除。请看我的答案,并告诉我你的想法。 – rd108 2013-05-09 21:44:54

回答

0

尝试了不同的事情,最终击中了存储NSData对象的数组并在运行中转换为UIImage。

for (NSString *imageFile in directoryList) { 
    NSString *fileLocation = [imageFolder stringByAppendingPathComponent:imageFile]; 
    NSData *imageData = [NSData dataWithContentsOfFile:fileLocation]; 
    if (imageData) { 
     [images addObject:imageData]; 
    } else { 
     [Util trace:@"cannot get image data for image named: %@", fileLocation]; 
    } 

,然后更新您的图像:

-(void)updateImageView:(id)sender 
{  
    UIImage *anImage = [UIImage imageWithData:[images safeObjectAtIndex:nextImage] ]; 
    [imageView setImage:anImage]; 
    nextImage++; 
}