【发布时间】:2010-01-25 23:18:15
【问题描述】:
至少对我来说,这里有一个奇怪的情况:我有一个相对简单的程序,它从 Web 加载 XML 文件,解析它并将数据写入字典数组。每个字典代表表中的一行。该程序运行良好,如果我将模拟器连接到仪器并加载列表,则不会出现内存泄漏。
现在是奇怪的部分:有一个按钮供用户重新加载列表。如果按下它,之前的数据被清除,新下载并解析的 XML 等等。如果我按下这个按钮,我仍然找不到内存泄漏。然而,如果我按两次,突然周围有泄漏。我很纳闷,以前没有的地方怎么突然出现泄漏(只有运行两次相同的代码才会出现泄漏)?这特别奇怪,因为我正在使用 Apple 的示例 XMLParser 的一部分,例如,我的代码是他们的 1:1 副本,但是当我运行解析器两次时,仪器报告此代码中的泄漏。
我很高兴得到任何帮助,我几乎不知道如何解决这个问题。代码应该没问题。我已经尝试过“构建和分析”,它也不会揭示我在仪器中看不到的任何东西。
一切顺利,罗宾
【问题讨论】:
-
我们应该神奇地猜出是什么原因造成的?
-
不,你绝对不能这样做。我只是想知道其他人以前是否遇到过这个问题以及泄漏是否真的是泄漏(但我猜他们是)。泄漏非常多且广泛,因此我不得不发布一半的项目,这对您也无济于事。
-
发布一些代码...至少是按钮处理程序代码。
-
您使用什么来检测这些“泄漏”?
标签: iphone objective-c memory-leaks instruments