很多朋友在面試中都會被問到這個問題,結(jié)果答地并不好,這是其實是實操的問題
我今天就和大家簡單分享一下怎么使用這個leak檢測工具.直接上圖:

點擊上面Profile ,稍等便可進入Xcode內(nèi)部自帶的instruments工具

點擊進去后,點擊左上角的紅點,可以進行內(nèi)存檢測

這里可以內(nèi)存多少,有多少對象內(nèi)存泄漏

點擊下邊leak checks ,可以看到下邊欄有三個選項 leak,Cycles & Roots, Call Tree,分別對應(yīng)的是內(nèi)存泄漏,循環(huán)引用,調(diào)用樹. leak點擊右邊紅框類可以進入內(nèi)存泄漏的代碼區(qū)域.?

Cycles & Roots 可以看到循環(huán)引用的環(huán),我的成環(huán)圖找不到了,從Detail中是可以分為simple Cycle 簡單環(huán)(兩個對象),還是Complex Cycle復(fù)雜環(huán)(涉及多個對象引用成環(huán)).

Call Tree 就是調(diào)用堆棧,如果你的內(nèi)存泄漏都是第三方框架之中,那么極有可能是你使用第三方不當(dāng)所致,可以好好看一下調(diào)用堆棧,是哪里調(diào)用了.紅框中區(qū)域表示內(nèi)存的泄漏出現(xiàn)的概率.

下面是我找到的調(diào)用堆棧中泄漏代碼中方法出處:人頭標(biāo)志是程序員自己寫的代碼

其實,還是那句話:第三方雖然簡單,幾句話搞定,但是你不懂原理,還是會使用出問題來.
寫代碼做事情,還是要知其然還要知其所以然才行.
今天分享就到這里了.