2013-05-06 118 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++; 
}