在 ios 应用程序中从磁盘加载大图像

Posted

技术标签:

【中文标题】在 ios 应用程序中从磁盘加载大图像【英文标题】:Loading large images from disk in ios app 【发布时间】:2014-11-29 21:27:36 【问题描述】:

目前我正在下载大小为 8 mb 的图像并将它们存储在应用程序内的文档路径中。在测试过程中,我注意到从文档中获取图像并将它们显示在集合视图中时内存使用量增加了很多,这会影响应用程序性能并导致内存错误。当我多次获取图像时会出现内存错误。 搜索和获取是使用 NSFileManager 完成的。 有什么建议可以帮助我解决这个问题?

【问题讨论】:

【参考方案1】:

从根本上说,您会看到大量内存使用,因为您的应用旨在使用大量内存。同时加载一堆大图像会占用大量内存。

首先要尝试:不要在集合视图中使用完整的 8MB 图像。下载图像时,创建更小的缩放版本。在集合视图中使用缩放的图像。使缩放图像的大小与集合视图中使用的图像大小相匹配。 (有很多很多图片缩放的代码示例,试试谷歌,你会找到的)。将完整尺寸的图像保存在文件中,以便在必要时加载它们,但尽可能使用较小的缩略图。

【讨论】:

谢谢你,Tom,我刚刚在集合视图中使用了缩放的图像,我注意到在提取过程中使用的内存较小。

以上是关于在 ios 应用程序中从磁盘加载大图像的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 4.0 上使用大图像时应用程序崩溃

如何为 Apple 的大图像缩小 iOS 示例设置最大缩放限制?

图像映射在 iOS 设备上不起作用,大图像会被设备重新缩放

图像拖放 ios 喜欢 happn 应用程序

您能否仅将较大的磁盘映像的较小矩形部分加载到内存中?

iOS |像照片浏览器一样的照片应用程序