【发布时间】:2017-07-05 05:24:39
【问题描述】:
代码执行后,我的内存使用量增加了。执行后如何释放内存?
仅当我将图像保存在文件系统中时,才会重现此问题。谁能帮忙解决这个问题?
我的代码:
let contrastfilter = GPUImageContrastFilter()
contrastfilter.contrast = 1.4
let thresholdImageFilter = GPUImageAdaptiveThresholdFilter()
thresholdImageFilter.blurRadiusInPixels = 16.0
let filterGroup = GPUImageFilterGroup()
filterGroup.addFilter(contrastfilter)
filterGroup.addFilter(thresholdImageFilter)
contrastfilter.addTarget(thresholdImageFilter)
filterGroup.initialFilters = [ contrastfilter ]
filterGroup.terminalFilter = thresholdImageFilter
let resultImage = filterGroup.image(byFilteringImage: image)
【问题讨论】:
-
一旦您的对象不再被引用,内存就会自行释放。您是否尝试过 Instruments 工具来检查内存泄漏?
-
可能是一些缓存。处理 5 张照片后,我的内存使用量增加到 200 MB,并且在此空间之后没有空闲。然后我得到了内存崩溃
-
使用 XCode Instruments,(command+i) 并选择“Leaks”。然后像发生崩溃时一样运行应用程序。仪器工具将显示内存泄漏发生在哪一行代码。
-
我在 gpuimage 中没有发现任何泄漏。我认为这是一些缓存,处理后不干净
标签: ios swift image-processing gpuimage