将 UIImages 保存到文件中而不使用 NSData



我想存储一堆用户使用应用程序时拍摄的图像,同时确保我以后可以以相当高的分辨率查看它们。通过"存储",目前我不需要在应用程序关闭后存储它们。只需在应用程序还活着的某个时间点后让它们可用就是我所需要的。

我首先尝试简单地将 UIImages 以原始大小存储在应用程序上,但由于内存使用,在拍摄 7 或 8 张照片后应用程序会崩溃。

然后我尝试缩小它们(因为我的应用程序有一个网格显示,我可以看到所有图片,但缩小以适应 3x3 图像网格),我的应用程序停止崩溃。但是当我想在全屏上单独查看图片时,质量很糟糕,因为我放大了缩小的照片。

所以我想为什么不找到一种方法来通过另一个对象存储原始图像,以一种不会占用太多内存的方式。在线搜索使我决定将它们存储在文件中,方法是将图像转换为NSData,然后将其写入文件。但是,当我将 NSData 加载回 UIImage 时,通过相机拍摄的照片的方向都是横向的!经过几个小时的寻找(和失败)如何将其转换回正确的方向,我决定放弃尝试修复这个方向错误。

相反,我只想知道除了使用 NSData 之外,我是否还有其他方法可以存储大型/高分辨率 UIImages(不占用内存)。你们有什么想法?

请原谅我不得不为一行问题写这么多。我只是不想得到关于做我已经尝试过的事情的建议。

将其另存为 jpeg 而不是 PNG,这样图像将为您旋转。 见 https://stackoverflow.com/a/4868914/96683

最新更新