【发布时间】:2012-10-18 13:05:19
【问题描述】:
在我的应用程序中,我正在从服务器上为 iPhone 下载完整尺寸 640 * 960 的图像并将其保存在 core data 中。一段时间后,我在控制台上收到 “接收内存警告” 消息,因为应用程序大小越来越大,并且图像已从屏幕上卸载。我不知道如何处理接收内存警告问题,因为应用程序在收到消息 4 或 5 次后崩溃。
【问题讨论】:
-
我认为您在下载图像时需要删除缓存:)
-
另外,将图像保存在 coredata 中也不是一个好主意,因为所有图像都加载到内存中,所以速度很慢。为什么不将图像保存到文档目录并与 coredata 对象中的文件名相同。
-
嗨 wolvorin。我知道但不知道如何清除缓存,因为一旦图像被下载,我必须将所有图像保存在核心数据中。这样用户就可以立即看到它。 .
-
嗨 rckoenes 我知道它是一个选项,但我已将其保存在核心数据中,因为我必须在特定条件下为特定屏幕显示特定图像。如果我将其保存在文档中,我该如何管理目录。
-
不是将图像存储为核心数据中的 blob,而是将图像的路径保存在文档目录中。一步一步是这样的: 1)下载图像并将其保存在文档目录中 2)将文件 URL 作为字符串保存在核心数据存储中 3)当您需要图像时,使用您之前保存的文件 url从您的文档目录加载图像。