0

请告诉我为什么废弃的内存不被视为泄漏的内存?

调用主对象的dealloc后怎么会有对象引用。?

根据仪器,

Leaked Memory is : 分配的内存不再可以访问。

废弃内存:可访问的分配内存,从未使用过。(浪费或遗忘的内存)

例如:popOverController 关闭后,viewController 中的所有变量都被释放,根据 INSTRUMENTS 没有泄漏。

但是当通过 Mark Heap 检查时,它告诉我一些内存正在浪费。

我正在释放所有变量。一旦调用了视图 dealloc,它将释放所有对应的对象,对吗?如果它无法释放,那么它将属于泄漏。

请帮帮我,如何捕捉这个被遗弃的记忆?这背后的主要原因是什么(开发中最常见的错误)?

谢谢

4

1 回答 1

1

泄漏的内存是非常具体的 - 这是您在代码中不再引用的已分配内存。

应用程序可以使用“太多”内存(例如,它将收到内存警告并被操作系统关闭)而不会泄漏单个字节。例如,一个巨大的 UIImage 对象数组会很快占用内存,但没有一个会泄露。

废弃的内存属于这一类——如果你用对象占用内存空间,但从不访问它们,这就是废弃的内存。Instrument 对“从不”的定义当然只是在您运行该仪器时——您需要访问应用程序功能的所有区域。

现在我们已经消除了被遗弃/大量的困惑,您希望能够找到其他文章和答案,例如评论中的文章和这个相关的(如果不是重复的话)问题

于 2013-08-22T06:18:27.110 回答