gpt4 book ai didi

iphone - 在内存占用较小的 iPhone 上调整 UIImage 的大小

转载 作者:行者123 更新时间:2023-12-03 18:36:38 24 4
gpt4 key购买 nike

我已经看到这个问题被问了几十次,但从未得到回答。

如何调整 UIImage 的大小(特别是从 UIImagePickerController 相机返回的图像)。当我尝试任何现有的方法时,我都会遇到 20 到 40MB 之间的内存峰值。它确实消失了,但我知道在某些硬件上这是完全 Not Acceptable 。

我尝试了使用以下操作的方法:drawInRect:、CGContextDrawImage()、imageWithCGImage:scale:orientation:

据我所知,内存中的未压缩图像比磁盘上占用的空间更多,但似乎最常见的 UIImage 调整大小操作涉及创建图像数据的副本。

甚至苹果公司也建议立即调整用相机拍摄的照片的大小。然而(b/c我相信他们知道这个话题非常复杂)他们没有提供关于如何管理这个话题的指导。尤其是图像数据返回的那一刻怎么做。

有没有人有一种流畅的方法来调整大 UIImage 的大小,同时节省内存?我知道这是一个艰巨的任务。

最佳答案

使用很少内存的方法是使用 CGBitmapContextCreate 创建位图上下文并将 UIImage 绘制到其中。此操作将使用的唯一额外内存是您 malloc 分配的内存和一些小的 CGContext 开销。

如果您想变得更奇特,您可以使用设置了 PROT_WRITE 标志的 mmap 来代替,并且仅受虚拟地址空间的限制

关于iphone - 在内存占用较小的 iPhone 上调整 UIImage 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3383877/

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