【发布时间】:2011-02-25 19:57:55
【问题描述】:
我目前正在寻找我的 iPhone 应用程序中的内存泄漏。我正在使用 Instruments 来追踪导致泄漏的代码(越来越成为 Instruments 的朋友!)。现在 Instruments 显示两条线:一条为深蓝色(第 146 行),另一条为浅蓝色(150)。从一些试验和错误中,我知道它们以某种方式连接,但在 Objective-C 和内存管理方面还不够好,还没有真正理解如何。
有谁知道为什么要使用不同的颜色以及我的问题是什么?
我曾尝试释放 numberForArray,但应用程序在选择器视图中显示最后一行时崩溃。
感谢所有想法!
(发布这个我也意识到第 139 行是多余的!Se 那里,已经是一个改进 ;-)
【问题讨论】:
-
始终显式初始化变量,即使您的语言为您执行此操作。当您在语言之间切换或其他人查看您的代码或在您的代码周围放置循环时,它会变得混乱。绝对没有性能损失,因为现代编译器只会在冗余时将其删除。
-
@colithium 我不同意这个建议,但我不明白它如何适用于这个问题。代码显示中唯一的变量声明在第 140 行,并且确实包括初始化...
-
“发布这个我也意识到第 139 行是多余的!Se 那里,已经是一个改进”我认为这就是他在问题中这行的意思。
-
好的,我明白你的意思了。在这种情况下,我认为这不是“语言为你做”的情况,因为 OP 意识到变量总是在使用之前在 for 循环中分配,所以在进入循环之前将其设置为 0 是多余的.
标签: objective-c xcode memory-leaks instruments