Ios GPUImage不释放内存

Ios GPUImage不释放内存,ios,objective-c,gpuimage,Ios,Objective C,Gpuimage,随着GPUImage的出现,内存不断积累而不是释放。如果我更改UIImage上的过滤器,则旧的过滤器内存永远不会释放 我的代码: 将UIImageView作为类属性: @property(nonatomic,strong) UIImageView *capturedImageView; 我像这样应用过滤器 GPUImageFilter filter = [[GPUImageGrayscaleFilter alloc] init]; UIImage *filteredImage = [filte

随着GPUImage的出现,内存不断积累而不是释放。如果我更改UIImage上的过滤器,则旧的过滤器内存永远不会释放

我的代码:

将UIImageView作为类属性:

@property(nonatomic,strong) UIImageView *capturedImageView;
我像这样应用过滤器

GPUImageFilter filter = [[GPUImageGrayscaleFilter alloc] init];
UIImage *filteredImage = [filter imageByFilteringImage:[UIImage imageWithCGImage:myImage.CGImage]];
[filter removeAllTargets];
[filter endProcessing];
然后,我将imageView.image属性设置为过滤后的图像

self.capturedImageView.image = filteredImage;
现在,我可以随时更改过滤器(基于用户选择的内容(即类似instagram的过滤器列表))。当我更改过滤器时,我只使用上面的代码(但分配一个不同的过滤器)


我不明白为什么记忆一直在积累?我尝试将imageview.image属性设置为nil,将GPIFilter设置为nil,但如果您不使用ARC,尝试释放过滤后的图像,然后将过滤后的图像设置为其他内容,则这不会起任何作用。

。我正在使用ARC,尝试将filter设置为nil,但很可能没有luckMost,因为您一直在创建新的过滤器。你试过只创建一次,然后根据需要传递过滤器指针,而不是每次都创建过滤器吗?是的,我也试过。不知道为什么会有帮助。创建一组过滤器可能会被使用,也可能不会被使用,但不管是哪一点,这也是低效的。这种策略不起作用:(它很有用,因为如果用户不断在灰色过滤器和非灰色过滤器之间切换,那么与灰色过滤器的多个实例相比,您将只有一个灰色过滤器实例。