【发布时间】:2013-07-19 01:15:43
【问题描述】:
发现每次运行一种更新数据和 UI 的方法时都会出现堆增长。 这是我在 Inspector 中看到的内容: 每次运行该方法时,都会有大约 1MB 的巨大堆增长。几次通话后应用崩溃。
通过调用栈向下找到这个静态函数:
在代码中找不到任何内存泄漏。请帮忙。 (ARC 开启)
更新:
所以现在我在该静态方法中使用了一个 NSCalendar 对象,它对一些人有所帮助,但每次运行该方法时仍然有 1MB 以上。 现在 Inspector 显示了许多与代码无关的内存地址。
【问题讨论】:
-
很难说...“dateDifferenceFromDate”肯定不是 1mb 泄漏的原因。可能您的代码中的某些内容保留了您的一些 UI,或者您的代码中有一个保留周期。如果不查看更多代码,我们无能为力。
-
好吧 - 显然 dateDifferenceFromDate 不是罪魁祸首。当您看到内存峰值时,GraphController::drawGraph 似乎是它的更新 UI。你可以为drawGraph粘贴更多代码吗?
-
好的。这是pastebin.com/yvvX6GZM又大又脏。但我认为最有趣的是我有这样的属性
@property (nonatomic, retain) UIImageView *drawArea并且在 drawGraph 结束时我改变了它。 -
@Goga 不要害怕使用辅助方法。把那个庞然大物分开。它将帮助您和以后研究该方法的任何其他人。
标签: ios objective-c xcode memory-leaks abandoned-memory