最初是在iOS內(nèi)存管理非ARC(自動引用計數(shù)),在那里我們有保留和釋放對象?,F(xiàn)在,它支持ARC,我們并不需要添加保留和釋放。其實Xcode在編譯時會自動負(fù)責(zé)工作。
根據(jù)蘋果說明文檔中說到面臨的兩個主要問題是:
不需要使用ARC的釋放和保留。因此,所有的視圖控制器的對象時,將會釋放視圖控制器被刪除。同樣,任何對象的子對象將被釋放,當(dāng)他們被釋放。請記住,如果其他類一個類的對象具有很強的借鑒意義,那么整個類將不會被釋放。因此建議使用弱屬性委托
我們可以分析的Xcode工具儀器的幫助下,及內(nèi)存的使用情況。它包括的工具,如活動監(jiān)視器,分配,泄漏,僵尸等
1. 打開一個現(xiàn)有的應(yīng)用程序。
2. 選擇產(chǎn)品,配置文件如下所示。
3. 然后選擇在下一個畫面中的分配如下所示,選擇“配置文件”。
4. 我們將看到不同的對象的內(nèi)存分配,如下圖所示。
5. 您可以切換視圖控制器,并檢查內(nèi)存是否被正確釋放。
6. 同樣,我們可以使用活動監(jiān)視器看到總內(nèi)存分配給應(yīng)用程序,而不是分配,并如下圖所示。
7. 這些工具可以幫助在知道我們是多么的使用和在什么地方可能發(fā)生泄漏。