【发布时间】:2017-05-11 01:41:45
【问题描述】:
我有问题我尝试在一些扩展名为 3000x2000 的图像上使用过滤器,当我这样做时 RAM 上限和应用程序出现致命错误“didReceiveMemoryWarning”。
func setFilters(images: [UIImage]) -> [UIImage] {
let filter = CIFilter(name: "CIColorControls")!
filter.setValue(2.0, forKey: kCIInputContrastKey)
let context = CIContext(options: nil)
var result = [UIImage]()
for img in images {
let newImage = autoreleasepool(invoking: { () -> UIImage in
filter.setValue(CIImage(image: img)!, forKey: kCIInputImageKey)
let ciImage = filter.outputImage!
let cgImage = context.createCGImage(ciImage, from: ciImage.extent)
return UIImage(cgImage: cgImage!, scale: img.scale, orientation: img.imageOrientation)
})
result.append(newImage)
}
return result
}
【问题讨论】:
标签: swift memory-leaks ios10 core-image