UIGraphicsBeginImageContext(targetSize); //instruments show here a leak 128bytes
CGRect thumbnailRect = CGRectZero;
thumbnailRect.origin = thumbnailPoint;
thumbnailRect.size.width = scaledWidth;
thumbnailRect.size.height = scaledHeight;
[sourceImage drawInRect:thumbnailRect];
newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
嗨,我正在尝试缩放UIImage,所以我用
加载它[UIImage imageNamed:@"myImage.png"];
然后将其传递给方法。在那个方法中,我有上面的代码调整我的图像大小,在方法结束时我有一个
return newImage;
仪器显示我在线泄漏
UIGraphicsBeginImageContext(targetSize); //instruments show here a leak 128bytes
我做错了什么?泄漏究竟在哪里?
答案 0 :(得分:1)
仪器会告诉你第一次分配内存的位置;这显然是在UIGraphicsBeginImageContext()中。我想双击泄漏(或左右)将列出所有保留/自动释放/释放;看看其中一个。
答案 1 :(得分:0)
你似乎没有做错任何事;它可能是UIGraphicsBeginImageContext
方法中的错误。虽然128字节是微不足道的 - 除非你创建这个缩略图很多次,否则你可能不需要担心它。
答案 2 :(得分:-2)
根据the docs,UIGraphicsBeginImageContext的参数应该是从UIGraphicsGetImageFromCurrentImageContext()返回的对象的实际大小。你收到这样一个对象之前为什么要打电话呢?