我是新来的iPhone应用程序开发,所以很可能我做错了什么。多个图像操作崩溃iPhone应用程序
基本上,我从网上加载了一堆图像,然后裁剪它们。我设法找到加载图像异步的例子,并将它们添加到视图中。我设法通过NSData
添加一个图像,通过添加到NSOperationQueue
中的NSOperation
来实现。
然后,因为我不得不做出固定大小的拇指,我需要一种方法来裁剪这张图片,所以我发现它基本上采用UIGraphicsBeginImageContext()
,UIGraphicsGetImageFromCurrentImageContext()
和UIGraphicsEndImageContext()
绘制裁剪后的图像,与不重要沿净脚本大小计算。
问题是,该方法的工作原理是,但由于它生成的像是这个图像的20个,它在生成它们中的一些之后会随机崩溃,或者有时会在我关闭并重新打开一次或多次应用程序之后再次崩溃。
在这种情况下应该怎么做?我试图让这个方法也以某种方式异步运行,与NSOperations
和NSOperationQueue
,但没有运气。
如果作物的代码比我想象的更重要,那就是:
UIGraphicsBeginImageContext(CGSizeMake(50, 50));
CGRect thumbnailRect = CGRectZero;
thumbnailRect.origin = CGPointMake(0.0,0.0); //this is actually generated
// based on the sourceImage size
thumbnailRect.size.width = 50;
thumbnailRect.size.height = 50;
[sourceImage drawInRect:thumbnailRect];
newImage = UIGraphicsGetImageFromCurrentImageContext();
谢谢!
调试器在发生崩溃时会说什么?另外,这是在设备上还是在模拟器上运行? – zpesk 2009-06-25 13:47:59
如果你只是同步工作而不是NSOperationQueue,它会不会崩溃?神秘崩溃的常见原因是你释放了一些你不应该释放的东西,尤其是当你崩溃时的堆栈跟踪中有“autorelease”或“pool”字样... – 2009-06-25 16:59:16