在用非ARC模式編寫iOS程式的時候,造成程式記憶體泄露在所難免,後期我們一般會進行記憶體最佳化。自己比較常用的記憶體最佳化方法有兩種
1、Analyze,靜態分析記憶體泄露的方法。很簡單,在Xcode功能表列中點擊 ”Product“ -> "Analyze",編譯完成後項目工程中可能造成記憶體泄露的代碼就會被標記出來,這樣我們就可以有針對性的更改代碼最佳化記憶體了。
2、使用Xcode的內建工具Leaks,動態檢測記憶體泄露。一般步驟如下。
1>在Xcode功能表列中點擊 ”Product“ -> "Profile"(1-1),彈出instruments視窗1-2
圖1-1
圖1-2
<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+ICAgICAgICAyPtTaaW5zdHJ1bWVudHO0sL/a1tC147v3IKGxTGVha3OhsKOoyOfNvDEtMqOpLNK7sONMZWFrc77Nv6rKvNfUtq+87LLiz+7Ev8TatObQucK2tcS12Le9wcujrNTatMu5/bPM1tC/ydLUttTK1rv6yc/Uy9DQtcSy4srUuaSzzL340NCy2df3o6zI5828MS0zo6xMZWFrcyC687P2z9a1xLrsyasg1vnQzrHtyr7T0MTatObQucK2oaM8L3A+CjxwPiAgICA8aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20140309/20140309090825245.jpg" alt="\">
圖1-3
3>點擊圖1-3中用紅圈圈起來的Leaks,選擇Call Tree選項,然後再選中”Invert Call Tree“和”Hide System Libraries“選項,出現1-4的介面,這樣我們就看到了是 哪個類中的哪個方法裡的代碼造成了記憶體泄露。
圖1-4
3>雙擊1-4中出現類名,就會顯示出此類此方法中造成記憶體泄露的代碼了1-5,然後我們就可以有針對性的最佳化代碼、最佳化記憶體了。
圖1-5
在這裡使用Leaks時,沒有具體介紹Leaks的一些其他設定及技巧,小夥伴們可以自己在使用的過程中試一試....