【问题标题】:iPhone images still stored in memory?iPhone图像仍然存储在内存中?
【发布时间】:2010-08-02 10:39:58
【问题描述】:

所以我有几个视图控制器,每个视图控制器都使用“imageWithContentsOfFile”创建图像以节省内存,然后将对象设置为 nil 并在 dealloc 方法中释放它们。没有内存泄漏。问题是切换视图时内存仍然会增加。例如,我将在 view1 中,它将使用 8MB 内存,然后我将切换到 view2 并再次返回 view1,它现在将使用 10MB 内存。我检查了仪器中的分配,它是使用它的图像。我需要做些什么来清除内存吗?

提前致谢!

【问题讨论】:

  • 在视图之间切换时,只需检查前一个视图的dealloc方法是否被调用。如果您使用导航控制器推送视图,那么我想这会导致问题。

标签: iphone objective-c image memory


【解决方案1】:

你不应该在设置object = nil之前调用[object release]吗?

抱歉,我在家里,我这里没有 mac,所以我无法测试当你反过来做时会发生什么。

另外,说没有泄漏,您是否使用泄漏工具进行检查?我认为该工具无法检测到所有泄漏,因为我曾尝试故意进行泄漏,但 Leaks 无法看到它。

【讨论】:

  • 是的,将object设置为nil然后释放它会导致释放nil,它什么都不做。如果这就是他正在做的事情,那就是问题所在。
猜你喜欢
  • 2011-10-09
  • 2023-03-13
  • 1970-01-01
  • 2011-04-05
  • 1970-01-01
  • 2013-08-29
  • 2014-11-02
  • 1970-01-01
  • 2017-11-16
相关资源
最近更新 更多