我使用UIImage+Resize库在拍摄后直接调整图像大小。
以下代码会导致内存泄漏:
以下代码会导致内存泄漏:
CGContextDrawImage(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, srcSize.width, srcSize.height), imgRef);
UIImage* resizedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
使用Instruments工具时,CGDataProviderCreateWithCopyOfData函数会造成内存泄漏问题。
根据其他StackOverflow的帖子,在代码中加入@autoreleasepool语句也无法解决该问题。
CGDataProviderCreateWithCopyOfData
的意思只是你泄漏的东西是图像,而这就是你创建图像的地方。一切都取决于你在其他地方如何处理resizedImage
。Instruments 不会告诉你错误出在哪里,它只会告诉你内存分配的位置。 - Rob Napier