很多朋友在面試中都會被問到這個問題,結果答地并不好,這是其實是實操的問題
我今天就和大家簡單分享一下怎么使用這個leak檢測工具.直接上圖:
點擊上面Profile ,稍等便可進入Xcode內部自帶的instruments工具
點擊進去后,點擊左上角的紅點,可以進行內存檢測
這里可以內存多少,有多少對象內存泄漏
點擊下邊leak checks ,可以看到下邊欄有三個選項 leak,Cycles & Roots, Call Tree,分別對應的是內存泄漏,循環(huán)引用,調用樹. leak點擊右邊紅框類可以進入內存泄漏的代碼區(qū)域.?
Cycles & Roots 可以看到循環(huán)引用的環(huán),我的成環(huán)圖找不到了,從Detail中是可以分為simple Cycle 簡單環(huán)(兩個對象),還是Complex Cycle復雜環(huán)(涉及多個對象引用成環(huán)).
Call Tree 就是調用堆棧,如果你的內存泄漏都是第三方框架之中,那么極有可能是你使用第三方不當所致,可以好好看一下調用堆棧,是哪里調用了.紅框中區(qū)域表示內存的泄漏出現(xiàn)的概率.
下面是我找到的調用堆棧中泄漏代碼中方法出處:人頭標志是程序員自己寫的代碼
其實,還是那句話:第三方雖然簡單,幾句話搞定,但是你不懂原理,還是會使用出問題來.
寫代碼做事情,還是要知其然還要知其所以然才行.
今天分享就到這里了.