使用CIFilter输出设置UIImageView动画会导致iOS内存分配过高和崩溃

使用CIFilter输出设置UIImageView动画会导致iOS内存分配过高和崩溃,ios,objective-c,uiimageview,core-image,cifilter,Ios,Objective C,Uiimageview,Core Image,Cifilter,我使用下面的代码添加了核心图像过滤器 CIImage *beginImage = [CIImage imageWithCGImage:self.originalImage.CGImage]; CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" keysAndValues: kCIInputImageKey, beginImage,

我使用下面的代码添加了核心图像过滤器

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,然后崩溃

如果有人有任何建议,请分享


提前感谢您的支持。

根本问题是您必须非常小心地在iOS应用程序中分配图像,因为图像占用大量内存。如果你分配了很多很多图片,那会占用更多的内存。在您的特定情况下,您需要遍历代码并确定为什么要保留对UIImage或CIImage的引用。另请参阅iOS应用程序的一些常规内存使用经验规则信息。

此代码块是如何命名的?此代码块位于函数内部,因此我使用单击按钮调用此函数。