iOS instruments

Separate by Thread: 每個(gè)線程應(yīng)該分開(kāi)考慮。只有這樣你才能揪出那些大量占用CPU的"重"線程

Invert Call Tree: 從上倒下跟蹤堆棧,這意味著你看到的表中的方法,將已從第0幀開(kāi)始取樣,這通常你是想要的,只有這樣你才能看到CPU中話費(fèi)時(shí)間最深的方法.也就是說(shuō)FuncA{FunB{FunC}} 勾選此項(xiàng)后堆棧以C->B-A 把調(diào)用層級(jí)最深的C顯示在最外面

Hide Missing Symbols: 如果dSYM無(wú)法找到你的app或者系統(tǒng)框架的話,那么表中看不到方法名只能看到十六進(jìn)制的數(shù)值,如果勾線此項(xiàng)可以隱藏這些符號(hào),便于簡(jiǎn)化數(shù)據(jù)

Hide System Libraries: 勾選此項(xiàng)你會(huì)顯示你app的代碼,這是非常有用的. 因?yàn)橥ǔD阒魂P(guān)心cpu花在自己代碼上的時(shí)間不是系統(tǒng)上的

Show Obj-C Only: 只顯示oc代碼 ,如果你的程序是像OpenGl這樣的程序,不要勾選側(cè)向因?yàn)樗锌赡苁荂++的

Flatten Recursion: 遞歸函數(shù), 每個(gè)堆棧跟蹤一個(gè)條目

Top Functions: 一個(gè)函數(shù)花費(fèi)的時(shí)間直接在該函數(shù)中的總和,以及在函數(shù)調(diào)用該函數(shù)所花費(fèi)的時(shí)間的總時(shí)間。因此,如果函數(shù)A調(diào)用B,那么A的時(shí)間報(bào)告在A花費(fèi)的時(shí)間加上B.花費(fèi)的時(shí)間,這非常真有用,因?yàn)樗梢宰屇忝看蜗碌秸{(diào)用堆棧時(shí)挑最大的時(shí)間數(shù)字,歸零在你最耗時(shí)的方法。

消耗內(nèi)存分析

直方圖中,每個(gè)柱條(忘了該怎么稱呼了,就這么叫吧)里有兩種顏色,短的那個(gè)表示叫凈分配字節(jié)數(shù)(Net Bytes),是當(dāng)前已經(jīng)分配內(nèi)存但是仍然沒(méi)有被釋放的字節(jié)的總數(shù),而長(zhǎng)的叫做總分配數(shù)(#Overall),是所有當(dāng)前已經(jīng)分配內(nèi)存,包括已經(jīng)被釋放了的對(duì)象或內(nèi)存塊的總數(shù)。不停的滾動(dòng)表,會(huì)發(fā)現(xiàn)一些柱條中短的猛的增加,將他們勾選,然后重點(diǎn)觀察。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容