我試圖運行兩個UImageViews有多個動畫數組,他們根據用戶的選擇加載和動畫。例如,下面是一個方法:iOS - UIImageView動畫接收內存警告
-(void)initiateAnimations {
nullAnimation = [NSArray arrayWithObjects:
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0002" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0003" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0004" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0005" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0006" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0007" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0008" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0009" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0010" ofType:@"png"]], nil];
}
這裏是一個IBAction
調用動畫製作方法:
-(IBAction)nullani {
player.animationImages = nullAnimation;
player.animationDuration = 0.50;
player.animationRepeatCount = 1;
[player startAnimating];
}
這一切運作良好,在第一,但請記住,我有大約5-6其他大致具有相同尺寸圖像的動畫數組。他們不是很大,範圍從12-80k.png文件。我收到此消息,任何新的動畫加載會崩潰的應用程序後
2013-03-16 01:34:44.438 [3316:907] Received memory warning.
:當我嘗試了幾次後,動畫,我在輸出recieving此錯誤。 我通過Instruments運行它,無法找到任何泄漏,並且輸出在崩潰時不會給我帶來任何影響。
這裏是否有任何內存問題?我如何擺脫這個問題?謝謝。
圖像有多大?磁盤上的大小不能以kb爲單位,如.png文件。像素?請記住,要顯示圖像,他們需要解壓縮,所以它可能沒有太多關於12-80k大小。這些全屏圖像? – Nate 2013-03-16 08:50:42
請記住,泄漏的內存不是您內存不足的唯一方法。你可以使用太多。儀器告訴你有關內存使用情況的內容?每次啓動動畫時,您使用了多少個字節? – jrturton 2013-03-16 08:55:40
@Nate正常大小是800x800,視網膜1600x1600。它大部分是空白的,主要內容大約是75x400,因爲我有動畫增長/縮小/擴展。 800x800就像一個舞臺。 – nworksdev 2013-03-16 08:57:02