2010-08-17 60 views

回答

0

如果一个对象没有被取消分配,它不是因为它被另一个对象“引用”,而是因为拥有该对象的“所有权”的人没有“释放”它。这被称为“内存泄漏”。

您可以通过阅读Memory Management Programming Guide了解更多。遵循指南中提供的简单规则应该可以帮助您避免内存泄漏。

要检测内存泄漏,您可以使用Instruments

我不知道任何应用程序/工具会告诉你哪些对象正在引用特定的对象。

+0

在我们的案例中,它似乎仍然被另一个对象引用,因为我们在重新分配之前释放对象。 – 2010-08-17 13:28:25

+0

此外,如果我们不这样做,它将很好地检测到没有引用,但引用计数器仍然> 0; – 2010-08-17 13:29:26

+0

@第一条评论:也许你说的另一个对象是'引用'你的是一个AutoreleasePool(如果你的对象是一个自动释放对象,这可能会发生) – Florin 2010-08-17 13:39:39