gpt4 book ai didi

ios - 在内存限制下调整 UIImage 的大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:38:24 25 4
gpt4 key购买 nike

我从 Web 资源 (>300MB) 下载了一个巨大的 UIImage,当我尝试渲染时,由于内存不足导致应用程序崩溃。我正在尝试使用以下代码调整图像大小:

+ (UIImage *)imageWithImage:(UIImage *)image scaled:(float) scale {
//UIGraphicsBeginImageContext(newSize);
CGSize size = (CGSize){scale * image.size.width, scale * image.size.height};
UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}

问题是,正如您可能已经猜到的那样,这需要实际渲染图像,因此会导致同样的崩溃。有没有一种方法可以在不给系统带来如此巨大的内存压力的情况下调整大图像的大小?

最佳答案

问题是您将图像保存在内存中。将其下载到磁盘并使用 ImageIO 框架直接从磁盘读取“缩略图”(较小的尺寸),而无需将全尺寸图像保存在内存中。

关于ios - 在内存限制下调整 UIImage 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38152495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com