我已使用以下代码
添加了Core Image过滤器CIImage *beginImage = [CIImage imageWithCGImage:self.originalImage.CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"
keysAndValues: kCIInputImageKey, beginImage,
@"inputIntensity", @0.8, nil];
CIImage *outputImage = [filter outputImage];
UIImage *imageWithFilter = [UIImage imageWithCIImage:outputImage];
self.showImgView.image = imageWithFilter;
但是当我尝试动画这个self.showImgView
时,它会立即增加内存分配并上升到400MB - 600MB然后崩溃。
如果有人有任何建议,请分享。
感谢您的支持。
答案 0 :(得分:0)
根本问题是你必须非常小心地在iOS应用程序中分配图像,因为图像会占用大量内存。如果你分配了大量的图像,那么它会占用更多的内存。在您的特定情况下,您将需要遍历代码并确定为什么要保留UIImage或CIImage的引用。另请参阅this answer了解iOS应用程序的一些常规内存使用经验法则。