2010-04-26 96 views
0

我是新的iPhone應用程序開發,我需要一些幫助。我有一個30張圖片的列表,我必須以0.1秒爲間隔進行動畫和顯示。 我把所有的圖像在一個陣列使用此動畫的圖像大小!

imageletter.animationImages = [NSArray arrayWithObjects:[UIImage imageNamed:@"1.png"], ...... ,nil] 

,然後使用這些語句設置動畫,

[imageletter setAnimationDuration:16]; 
[imageletter startAnimating]; 
[NSTimer scheduledTimerWithTimeInterval:mytime target:self selector:@selector(StopAfterCertainTime) userInfo:nil repeats:NO]; 

現在的問題是,每個圖像的大小爲8KB,它運行罰款iPhone模擬器,但在設備上崩潰。當我使用30個其他每個4kb的圖像時,它在模擬器和設備上運行良好。任何人都可以告訴我這種任務的理想尺寸是多少? 感謝

回答

0

我建議你先搞清楚爲什麼它崩潰的設備上(看堆棧回溯,例如)。每個8kb的30個圖像聽起來不像很多空間(240kb,對吧?),所以它不可能是一個簡單的「內存不足」情況。

對於您分配的對象的大小而言,更有可能存在更深層次的問題(例如,在對象被釋放後繼續使用對象)。如果是這樣,使用較小的圖像不能解決問題,它只是隱藏它(現在)。

查看iPhone開發指南的Debugging Applications部分,瞭解關於查看崩潰日誌的信息,以及如何設置NSZombieEnabled來檢測對已發佈對象的訪問。

+0

壓縮圖像的大小可能爲8 kb,但用於實際顯示的這些圖像的未壓縮版本可能比此大得多。通過查看Memory Monitor儀器,您應該能夠看到這是否會導致顯着的內存峯值。 – 2010-05-04 16:05:58