Objective-C基礎3:記憶體管理續,

來源:互聯網
上載者:User

Objective-C基礎3:記憶體管理續,

1.上篇我們講了OC中的記憶體管理基礎,我們再總結一下何時該用記憶體管理。
1)當用new、alloc、copy建立對象時,必須要釋放對象。

2)當擁有對象時,如果是臨時對象,不需要釋放;當需要長時間保留對象時,必須保留對象並且在dealloc方法中釋放對象。

2.OC中的記憶體回收機制

OC2.0引入了記憶體回收機制,也就是啟用了記憶體回收機制之後,我們忘記了釋放對象,OC會幫我們釋放對象,這點可看出OC比C++的強大之處了。

記憶體回收機制主要原理是在運行中定時動態跟蹤對象,檢查對象的引用技術並且進行清理,記憶體回收只支援mac,ios不支援,原因是在運行過程中動態釋放,對於手機app不適用,所以apple引入ARC來解決問題。需要注意的是:我現在用的XCode6設定裡面已經沒有記憶體回收機制設定了。

3.IOS中ARC機制

 ARC(automatic reference counting)機制跟記憶體回收機制差不多,都會協助你管理對象的生命週期。不同的是記憶體回收機制是在運行時決定釋放對象的,ARC是在編譯的時候編譯器給我們的代碼偷偷地加上retain、release方法。我們可以選中工程,通過菜單Edit->Refactor->Convert to Objective-C ARC來對工程進行ARC轉換。ARC只對ROP對象起作用。具體講解可以參考OC基礎教程活著apple官網文檔https://developer.apple.com/library/mac/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.