2011-08-24 74 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

相關問題