[问题] 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