您好,我正在開發一個iPhone應用程序,它提供圖像和文本的信息。在每個文本有一個圖像,其可以被點擊和縮放,用一個UIImageView在iPhone上混淆內存分配錯誤
NSString* imgName = [imgPath substringToIndex:[imgPath rangeOfString:@".jpg"].location];
UIImage* img = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:imgName ofType:@"jpg"]];
[imgView setImage:img];
示爲本人經過圖像通過由一個打開它們一個應用程序崩潰(器件調試)。在控制檯一些錯誤:
:解壓縮錯誤 my_app_name(1226,0x3e088868)malloc的:* MMAP(大小= 32768)失敗(錯誤代碼= 12) *錯誤:不能分配區域
然後:
CoreAnimation:未能分配2228352字節。
我沒有代碼泄漏,如果我不打開圖像,我不會得到錯誤。所以沒有人有這個問題的線索?
嗨榮子謝謝你的回覆。當我打開約30張圖像時,它會崩潰,但是當我打開一張新圖像時,我總是釋放舊圖像。所有圖像都在100kb以下(在Mac上)。 – boreas 2010-10-27 10:45:48
該儀器顯示一個整體分配的內存15Mb,這主要是由我的語音輸出的東西。我看到一些類似的Malloc 1 + Mb,由CG Graphics調用,我不明白這是怎麼回事。 – boreas 2010-10-27 10:48:24
加載時需要關於pixels_hor * pixels_ver * 4個字節的圖像,並且錯誤消息指示它需要大約2 MB。也許檢查他們是否真的被釋放。儀器給出了一個很好的內存使用圖。 – Eiko 2010-10-27 10:50:56