首页 > 解决方案 > 在 iOS 如何处理 EXC_RESOURCE RESOURCE_TYPE_MEMORY 错误?

问题描述

在我的应用程序中,我有一个图像大小调整方法,用于创建图像的缩略图;这是代码。

    private func resize(withSize size: CGSize) -> UIImage? {
        UIGraphicsBeginImageContextWithOptions(size, false, 1)
        defer { UIGraphicsEndImageContext() }
        draw(in: CGRect(x: 0.0, y: 0.0, width: size.width, height: size.height))
        return UIGraphicsGetImageFromCurrentImageContext()
    }

调整大图像的大小(可以是未压缩的 7Mb PNG 变成 200Mb ...)时,draw(in:)崩溃并出现以下错误:EXC_RESOURCE RESOURCE_TYPE_MEMORY.

这不是可以用 try-catch 块捕获的异常。

如何处理受控关闭而不是崩溃?

标签: iosswiftout-of-memory

解决方案


推荐阅读