作者y03131003 (Jimmy)
看板MacDev
标题[问题] UIGraphicsGetImage做图片crash
时间Fri May 15 16:13:01 2015
我想要在程式里连续制作多张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)
有人知道该怎麽解决这个问题吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.218.72
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1431677583.A.6BB.html
1F:→ darktt: 试试看将图片写入cache的资料夹下再将图片透过路径读入 05/15 16:37
2F:→ darktt: 放弃原本的image的instance的方法 05/15 16:38
3F:→ howdiun: 没有显示错误在哪就应该不是memory的问题 05/15 16:38
5F:→ y03131003: 连结里说应该是memory的问题 05/15 16:43
6F:→ y03131003: 我将[images addObject:image]注解掉 就不会crash了!!! 05/15 16:44
7F:→ y03131003: 我试试看写入cache的方法! 05/15 16:45
8F:→ y03131003: 找到问题了!从Context得到的图片档案超大11MB.. 05/15 17:31
9F:→ y03131003: 我先压缩成0.01倍存到cache资料夹再透过路径读入就搞定 05/15 17:31
10F:→ y03131003: 感谢各位~~ 05/15 17:33