1、配置生成符號(hào)表(若不配置,在Time Profiler看不到具體的方法)

2、設(shè)置Profile工具后是debug還是release,一般選debug

3、設(shè)置dSYM的具體位置(我用的xcode10.2.1,Time Profiler無法自己找到dSYM位置)

注意文件夾有手機(jī)和模擬器的Debug文件夾,要自己找到對(duì)應(yīng)的文件夾噢。
4、查看耗時(shí)函數(shù)

圖中第一點(diǎn):
- 可以選擇查看一段時(shí)間內(nèi)的函數(shù)調(diào)用和耗時(shí)(避免過多函數(shù)調(diào)用方法擾亂)
圖中第二點(diǎn):
- 方法耗時(shí)時(shí)間,可以展開依次查看主要耗時(shí)
圖中第三點(diǎn):
Separate by Thread:每個(gè)線程被單獨(dú)考慮。這能讓你知道哪一個(gè)線程占用CPU最多。
Invert Call Tree:選中該選項(xiàng)后,調(diào)用棧會(huì)自上至下顯示。這通常是你需要的,因?yàn)槟阆胫繡PU花費(fèi)時(shí)間的那個(gè)最深的方法。
Hide System Libraries:選中該選項(xiàng)后,只有你自己app中出現(xiàn)的符號(hào)會(huì)被顯示出來。通常選中該選項(xiàng)是有用的,因?yàn)槟阒魂P(guān)心CPU在你自己的代碼中的哪一部分花費(fèi)時(shí)間,你沒法對(duì)系統(tǒng)庫使用CPU做多少改變。
Flatten Recursion:該選項(xiàng)將每一個(gè)調(diào)用棧中的遞歸函數(shù)(調(diào)用它們自身的函數(shù))視作單一入口,而不是多入口。
Top Functions:選上這一選項(xiàng)讓Instruments將花費(fèi)在一個(gè)函數(shù)中的總時(shí)間視作在該函數(shù)中直接花費(fèi)的時(shí)間加上調(diào)用的其他函數(shù)花費(fèi)的時(shí)間。所以如果函數(shù)A調(diào)用了函數(shù)B,那么函數(shù)A花費(fèi)的總時(shí)間被記為A花費(fèi)的時(shí)間加上B花費(fèi)的時(shí)間。這一選項(xiàng)非常有用,因?yàn)樗茏屇阍诿看芜M(jìn)入調(diào)用棧時(shí)找到花費(fèi)最長(zhǎng)的時(shí)間,瞄準(zhǔn)你最耗時(shí)的方法。
5、根據(jù)代碼跳轉(zhuǎn)xcode位置
右鍵選中方法,Reveal in Xcode則可以跳轉(zhuǎn)到Xcode中(系統(tǒng)方法不可跳轉(zhuǎn))