0

可能重複:
To ARC or not to ARC? What are the pros and cons?學習手冊保留/釋放的價值是什麼? (IOS)

我剛開始使用Objective-C和iOS開發。自動引用計數(ARC)現在(並且已經有一段時間了)是處理OSX和iOS開發的內存管理的首選方式。

此時學習手動保留/釋放(MRR)有什麼好處?跳過MRR並直接進入ARC有什麼好處?

我目前的經驗幾乎完全與垃圾收集語言,包括AS3,Java和JavaScript。我有興趣瞭解更多關於內存管理的知識,但由於ARC實際上禁止使用retainreleaseautoreleaseretainCountdealloc,我不願意編寫使用這些代碼的代碼。

我也沒有預見到我將來會轉向更低層次的編程,所以如果跳過MRR就意味着我對內存管理最佳實踐一無所知,這最終可能不會對我產生實質性影響。

+1

即使你不使用保留,釋放等,這是有益的知道什麼是引擎蓋下發生。我不能告訴你人們在SO上發佈問題的次數是多少,答案是該對象超出了範圍。 – estobbart

+0

大量重複[到ARC或不到ARC?有什麼優點和缺點?](http://stackoverflow.com/questions/8760431/to-arc-or-not-to-arc-what-are-the-pros-and-cons) – Rob

回答

2

我認爲您不太可能需要編寫使用retainrelease等的代碼。我想不出爲什麼您需要開始編寫這樣的代碼的很多原因。這就是說,我發現瞭解編譯器在編寫應用程序時代表我做什麼非常有幫助。瞭解一些細節將幫助您編寫更好的優化代碼。

因此,作爲Objective-C的初學者,我認爲當您剛剛起步時,您不應過分關注內存管理細節,但隨着您的專業知識的增長,我相信這是有用的背景信息,可幫助您更好地編寫代碼,即使你總是使用ARC。