Я применяю CIFilter к изображению RAW, однако у меня возникают проблемы с памятью, когда я пытаюсь отобразить его в UIImageView. Я применяю CIFilter, используя следующий код:
CIFilter *rawshadow = [CIFilter filterWithImageURL:initialImageUrl options:@{kCIInputBoostShadowAmountKey: [NSNumber numberWithFloat:self.shadowsSlider.value],kCIInputScaleFactorKey: [NSNumber numberWithFloat:1]}];
currentImage = rawshadow.outputImage;
И затем я обновляю UIImageView, используя следующее:
-(void) UpdatePreview{
CIContext *context = [CIContext contextWithOptions:@{kCIContextCacheIntermediates: [NSNumber numberWithBool:NO], kCIContextPriorityRequestLow:[NSNumber numberWithBool:YES]}];
CGImageRef cgImage = [context createCGImage:currentImage fromRect:[currentImage extent]];
UIImage* img = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);
[self.mainImageView setImage:img];
}
После запуска UpdatePreview объем оперативной памяти увеличивается до 2 ГБ и вылетает , Я использую необработанное изображение размером 6000x4000 и размером около 24 МБ. Это слишком большой или я что-то упустил? Заранее спасибо за помощь.