使用Instruments的 Zombies 檢測僵尸對象
Instruments為我們提供了一個檢測僵尸對象的工具:Zombies。使用這個工具時,將會自動開啟Enable Zombie Objects模式,而不需要我們自己手動去設置。如圖一 所示,我們可以看到”Zombies” (z?mbi)這個工具?;静僮骱推渌ぞ咭粯樱瑔雍簏c擊工具欄上的紅色按鈕來啟動程序。
圖一
在程序運行期間,如果定位到僵尸對象,則會彈出一個提示對話框,如圖二所示。
圖二
我們可以點擊對話框右側的箭頭來定位到具體的代碼及調用棧,圖三所示。
圖三
雙擊調用棧對應的方法后,還可以查看具體的代碼,如圖四所示。
圖四
//==================================
Xcode的 Debug navigator中提供了幾個計量器來幫助我們跟蹤程序的性能,包括CPU、內存、電量等。如圖5和6所示。
圖5.png
圖6.png
在每個計量器的詳情面板中的右上角,都提供了一個Profile in Instruments按鈕,如圖6所示(Energy Impact除外,其在面板詳情中有幾個按鈕直接打開Instruments指定的模板,如圖7所示 )
圖7.png
這些按鈕可以讓我們直接跳轉到Instruments中。在點擊這些按鈕時,會彈出一個提示框,提示“Transfer current debug session?”,下面三個按鈕,如圖8所示。
圖8.png
Transfer會在程序當前的運行狀態中直接切換到Instruments,然后繼續跟蹤程序的運行狀態;而Restart則是關閉當前運行的程序,重新開始一次新的Profile。 不過,這兩種情況都會關閉當前的性能分析(profiling),啟動Instruments,初始一個新的性能分析。