Time Profiler優(yōu)化耗時(shí)函數(shù)

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

image.png

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

image.png

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

image.png

注意文件夾有手機(jī)和模擬器的Debug文件夾,要自己找到對(duì)應(yīng)的文件夾噢。

4、查看耗時(shí)函數(shù)

image.png

圖中第一點(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))

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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