2014-02-15 59 views
0

我在通過Xcode和儀器監視CPU和內存級別的設備上測試了我的應用程序。我的應用程序在一些視圖上運行動畫,並且即使在離開該頁面後,我仍然注意到內存級別保持高水平,並將建立在頂部。內存級別一度在90MB左右。什麼是高iOS內存使用量?

這是正常的嗎?

我已檢查自動參考計數是否打開。記憶不應該清楚嗎?

謝謝。

這是一個保存大量內存的動畫之一。

-(IBAction)start:(id)sender 
{ 
    animation.animationImages = [NSArray arrayWithObjects: 
            [UIImage imageNamed:@"1.png"], 
            [UIImage imageNamed:@"2.png"], 
            [UIImage imageNamed:@"3.png"], 
            [UIImage imageNamed:@"4.png"], 
            [UIImage imageNamed:@"5.png"], nil]; 
    [animation setAnimationRepeatCount:0]; 
    animation.animationDuration = 2.5; 
    [animation startAnimating]; 
} 

Is '# Living' what i need to be worried about?

這是前他分配和泄漏的工具。 「#生活」是我需要擔心的嗎?

回答

2

您需要登錄後纔可以回帖。如果在離開頁面後內存不清楚,這意味着某事正在持續。 90MB可能會稍微高一點 - 您是否在製作大型磁盤加載映像的動畫?

ARC是不是垃圾收集 - 你還是要小心你堅持

+0

隨着假設你需要釋放信息的圖像或動畫什麼的,怎麼做呢? 我使用動畫代碼編輯了帖子。 – user3230481

+0

並且還添加了一個儀器報告@davbryn – user3230481

+0

你的記憶正在被那些png文件所淹沒。它們都是立即加載的,因爲它們都屬於動畫對象,它們全都在內存中。但是,忽略總體字節數 - 這是總共分配的內存(包括釋放的內存),您有11 MB的活動字節,這很好。你沒有使用97MB – davbryn

1

根據您的應用程序的不同,90MB可能很多。 ARC並不神奇,雖然它極大地幫助了內存管理,但保留週期可能會導致內存建立並且無法正確釋放。您應該使用分配和內存泄漏工具來查看哪些對象沒有正確釋放。