CIImage Speicherverlust
Bin ich unter den unten angegebenen Methode zu verwischen, einige Bilder. Mit Instrumenten der CIImage ist undicht. Ich habe versucht, wickelte Sie in ein @autoreleasepool, aber kein Glück. Irgendwelche Ideen?
-(UIImage *)blurImage:(UIImage *)image withStrength:(float)strength
{
@autoreleasepool {
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *inputImage = [[CIImage alloc] initWithCGImage:image.CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];
[filter setValue:inputImage forKey:@"inputImage"];
[filter setValue:[NSNumber numberWithFloat:strength] forKey:@"inputRadius"];
CIImage *result = [filter valueForKey:kCIOutputImageKey];
float scale = [[UIScreen mainScreen] scale];
CIImage *cropped=[result imageByCroppingToRect:CGRectMake(0, 0, image.size.width*scale, image.size.height*scale)];
CGRect extent = [cropped extent];
CGImageRef cgImage = [context createCGImage:cropped fromRect:extent];
UIImage *returnImage = [UIImage imageWithCGImage:cgImage].copy;
CGImageRelease(cgImage);
return returnImage;
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehe ich das gleiche Leck Sie sehen, wenn profiling-code. Versuchen Sie stattdessen, die scheint, zu vermeiden, das Loch und geben Ihnen die gleichen Ergebnisse:
haben Sie versuchen CIImages zu null ?