UIImage永远不会释放内存(内存泄漏?)

时间:2018-04-16 04:08:23

标签: ios swift memory-leaks uiimage apple-vision

只要我保留对作为这些函数之一的参数传递的UIImage的引用,每个与图像相关的操作引起的内存增加仍然存在。如果我重复调用这些函数(每次使用不同的UIImage实例),内存使用量会增加,直到应用程序崩溃。

例1:

static func memoryNotReleasedExample(image: UIImage) {
    guard let cgImage = image.cgImage else { return }
    let imageTranslationRequest = VNTranslationalImageRegistrationRequest(targetedCGImage: cgImage)
}

例2:

static func memoryNotReleasedExample2(image: UIImage) {
    UIGraphicsBeginImageContext(image.size)
    image.draw(in: CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height))
    guard let copy = UIGraphicsGetImageFromCurrentImageContext() else { return }
    UIGraphicsEndImageContext()
}

为什么会这样?这是一个错误吗?有没有办法强行释放记忆?

0 个答案:

没有答案