[問題] UIGraphicsGetImage做圖片crash

作者: y03131003 (Jimmy)   2015-05-15 16:13:01
我想要在程式裡連續製作多張UIImage
我用了以下方法
-(void)creatImage {
UIImage *image;
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0);
...
...(中間使用drawInRect畫圖)
@autoreleasepool {
image = UIGraphicsGetImageFromCurrentImageContext();
[images addObject:image]; // images是個array,用來裝做好的UIImage
image = nil;
}
UIGraphicsEndImageContext();
}
接著我用for迴圈去跑creatImage這個method
只跑2次的話,沒什麼問題,可是如果設定16次
當他跑到第7次左右的時候就crash了,沒有顯示錯誤在哪
網路上查的結果應該是UIGraphicsGetImageFromCurrentImageContext造成了memory的問題
我照其他人的做法加了@autoreleasepool,結果還是crash (http://goo.gl/ibrbte)
有人知道該怎麼解決這個問題嗎?
作者: darktt (小朱)   2015-05-15 16:37:00
試試看將圖片寫入cache的資料夾下再將圖片透過路徑讀入放棄原本的image的instance的方法
作者: howdiun (Howdiun)   2015-05-15 16:38:00
沒有顯示錯誤在哪就應該不是memory的問題
作者: y03131003 (Jimmy)   2015-05-15 16:43:00
我是跳出lost connection視窗 http://goo.gl/GS6qEm連結裡說應該是memory的問題我將[images addObject:image]註解掉 就不會crash了!!!我試試看寫入cache的方法!找到問題了!從Context得到的圖片檔案超大11MB..我先壓縮成0.01倍存到cache資料夾再透過路徑讀入就搞定感謝各位~~

Links booklink

Contact Us: admin [ a t ] ucptt.com