【问题标题】:Memory Issues in IphoneIphone 中的内存问题
【发布时间】:2012-10-18 13:05:19
【问题描述】:

在我的应用程序中,我正在从服务器上为 iPhone 下载完整尺寸 640 * 960 的图像并将其保存在 core data 中。一段时间后,我在控制台上收到 “接收内存警告” 消息,因为应用程序大小越来越大,并且图像已从屏幕上卸载。我不知道如何处理接收内存警告问题,因为应用程序在收到消息 4 或 5 次后崩溃。

【问题讨论】:

  • 我认为您在下载图像时需要删除缓存:)
  • 另外,将图像保存在 coredata 中也不是一个好主意,因为所有图像都加载到内存中,所以速度很慢。为什么不将图像保存到文档目录并与 coredata 对象中的文件名相同。
  • 嗨 wolvorin。我知道但不知道如何清除缓存,因为一旦图像被下载,我必须将所有图像保存在核心数据中。这样用户就可以立即看到它。 .
  • 嗨 rckoenes 我知道它是一个选项,但我已将其保存在核心数据中,因为我必须在特定条件下为特定屏幕显示特定图像。如果我将其保存在文档中,我该如何管理目录。
  • 不是将图像存储为核心数据中的 blob,而是将图像的路径保存在文档目录中。一步一步是这样的: 1)下载图像并将其保存在文档目录中 2)将文件 URL 作为字符串保存在核心数据存储中 3)当您需要图像时,使用您之前保存的文件 url从您的文档目录加载图像。

标签: iphone ios uiimage


【解决方案1】:

我无法告诉你这么详细的原因。但我可以告诉你一种方法,你可以尝试找出你的问题。您可以使用 Instruments 来查找泄漏或内存占用。

  • 在您的 Xcode 项目中,转到“产品”-> 单击“配置文件”。仪器窗口将打开。
  • 单击“泄漏”。现在探索您的应用程序,仪器会告诉您泄漏的确切代码行。

【讨论】:

    猜你喜欢
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多