2011-08-24 32 views

回答

1

考虑名称“参考计数”。

您必须将每个retainrelease(或autorelease)匹配。

当引用计数时,您的程序可能会保存对对象的一个​​或多个引用。您通过保留该对象来添加引用。当您完成对象时,将使用releaseautorelease放弃参考。当所有引用都返回时,保留计数达到零并且对象被销毁。

对象的生命周期也受到autorelease池的影响;一种减少手动保留/释放次数以及引用计数复杂性(在某些情况下)的便利机制。你应该阅读autorelease和autorelease池以进一步理解这种机制。

-2

多次调用此方法(保留)多次内存分配给该对象。您可以通过保留计数对象被分配多少次。 它创建内存问题。 如果对象保留计数为零则该特定对象不可用于其他。 如果你保留10倍一个对象如果U释放一旦它没有被释放。 保留增加1个计数并且释放减少1.如果对象保留计数0则表明对象不可用。

+0

上面的答案是非常不正确的。保留呼叫会增加同一对象的引用计数而不分配新内存! – Ved

+0

谢谢..到现在我希望那样 – Srinivas

0

永远记住这三件事。

1)每当你传递保留消息到任何物体,其由1保留计数增加。

2.)而且随后当你通​​过一个释放消息任何对象,其保留计数减少1

3.)而且每当你完成对象,总是检查它的保留计数是0

因此,你保留的次数的对象应该总是等于你释放该对象的次数。

你可以检查有关内存管理的苹果文档here

相关问题