iOS 使用Instruments的Time Profiler工具進(jìn)行app加載時間分析

轉(zhuǎn)自:http://blog.csdn.net/face___book/article/details/50808620

Time Profiler分析原理:它按照固定的時間間隔來跟蹤每一個線程的堆棧信息册着,通過統(tǒng)計比較時間間隔之間的堆棧狀態(tài)壤短,來推算某個方法執(zhí)行了多久,并獲得一個近似值嚼摩。其實從根本上來說與我們的原始分析方法異曲同工灶体,只不過其將各個方法消耗的時間統(tǒng)計起來阅签。

現(xiàn)在先看一下每一部分的說明

Snip20170518_13.png

1、這里控制記錄過程蝎抽,點擊紅色的"記錄"按鈕可以停止或開始當(dāng)前正在分析的app(在記錄和停止按鈕之間切換)愉择,暫停鍵,如你所想,暫停當(dāng)前正在運行的app锥涕。

2衷戈、這里是執(zhí)行計時器(run timer),計時器記錄著正在分析的app執(zhí)行了多長時間层坠、執(zhí)行了多少次殖妇。如果你使用記錄控制按鈕來停止你的app,然后重啟破花,這將創(chuàng)建一個新的運行記錄谦趣,同時會顯示"Run 2 of 2"。

3座每、這里被稱作路徑(track)前鹅,就你選擇的Time Profiler工具而言,因為只有一個工具峭梳,所以這里只有一條路徑舰绘,關(guān)于這里顯示的圖標(biāo)的詳情,一會你就會在接下來的教程中了解更多葱椭。

4捂寿、這里是詳情面板,展示的是你正在使用的工具的主要信息孵运。就現(xiàn)在而言秦陋,這里展示的是最"笨重(hottest)"的方法--換句話說,占用CPU時間最長的方法治笨。點擊上方的bar會看到Call Tree(左手邊的那個)并選中Sample List驳概,然后你會看到數(shù)據(jù)的不同視圖。視圖展示了每一個示例旷赖。點擊其中幾個抡句,你會在Extended Detail inspector中看到被捕獲的堆棧跟蹤。

5杠愧、這里是檢查器(inspector)面板待榔,一共有三個檢查器:record setting(記錄設(shè)置),display setting(展示設(shè)置)流济,還有extends detail(擴展詳情)锐锣。

Leaks的用法已經(jīng)解釋了call Tree里邊的部分選項作用,這里介紹的全面一點

Snip20170518_23.png
  • Separate by State: 測試了一下绳瘟,選上此選項詳情面板就沒數(shù)據(jù)了雕憔,啥作用不太清除,哈哈糖声。不過沒用斤彼,
  • Separate by Thread:每個線程被單獨考慮分瘦。這能讓你知道哪一個線程占用CPU最多。
  • Invert Call Tree:選中該選項后琉苇,調(diào)用棧會自上至下顯示嘲玫。這通常是你需要的,因為你想知道CPU花費時間的那個最深的方法并扇。
  • Hide System Libraries:選中該選項后去团,只有你自己app中出現(xiàn)的符號會被顯示出來。通常選中該選項是有用的穷蛹,因為你只關(guān)心CPU在你自己的代碼中的哪一部分花費時間土陪,你沒法對系統(tǒng)庫使用CPU做多少改變。
  • Flatten Recursion:該選項將每一個調(diào)用棧中的遞歸函數(shù)(調(diào)用它們自身的函數(shù))視作單一入口肴熏,而不是多入口鬼雀。
  • Top Functions:選上這一選項讓Instruments將花費在一個函數(shù)中的總時間視作在該函數(shù)中直接花費的時間加上調(diào)用的其他函數(shù)花費的時間。所以如果函數(shù)A調(diào)用了函數(shù)B蛙吏,那么函數(shù)A花費的總時間被記為A花費的時間加上B花費的時間源哩。這一選項非常有用,因為它能讓你在每次進(jìn)入調(diào)用棧時找到花費最長的時間出刷,瞄準(zhǔn)你最耗時的方法。

下面開始看哪些代碼比較耗時了坯辩。

Snip20170518_26.png

這個操作占首頁加載時間的2.7%馁龟,下邊就去一探究竟嘍。

Snip20170518_27.png

定位到耗時操作的方法了漆魔,點進(jìn)去看一眼

Snip20170518_28.png

該方法一步一步點進(jìn)去之后發(fā)現(xiàn)是讀取沙盒的數(shù)據(jù)

Snip20170518_31.png
Snip20170518_32.png

大家可以試著把此操作放到子線程里邊操作坷檩,加載速度就明顯提升了。

這里只是用此方法打個比方改抡,(其實這個方法已經(jīng)異步操作了矢炼,哈哈哈)。重在思路你懂得阿纤。哈哈

注意:

性能優(yōu)化是在所有更能實現(xiàn)完成時要做的事句灌,使用Time Profile工具分析app每個流程的執(zhí)行情況,發(fā)現(xiàn)耗時的地方欠拾,合理優(yōu)化胰锌,提升用戶體驗,切記藐窄,優(yōu)化后要做一遍詳細(xì)的測試资昧,要不然別修了東墻壞了西墻。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荆忍,一起剝皮案震驚了整個濱河市格带,隨后出現(xiàn)的幾起案子撤缴,更是在濱河造成了極大的恐慌,老刑警劉巖叽唱,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屈呕,死亡現(xiàn)場離奇詭異,居然都是意外死亡尔觉,警方通過查閱死者的電腦和手機凉袱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侦铜,“玉大人专甩,你說我怎么就攤上這事《ど裕” “怎么了涤躲?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長贡未。 經(jīng)常有香客問我种樱,道長,這世上最難降的妖魔是什么俊卤? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任嫩挤,我火速辦了婚禮,結(jié)果婚禮上消恍,老公的妹妹穿的比我還像新娘岂昭。我一直安慰自己,他們只是感情好狠怨,可當(dāng)我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布约啊。 她就那樣靜靜地躺著,像睡著了一般佣赖。 火紅的嫁衣襯著肌膚如雪恰矩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天憎蛤,我揣著相機與錄音外傅,去河邊找鬼。 笑死俩檬,一個胖子當(dāng)著我的面吹牛栏豺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播豆胸,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼奥洼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晚胡?” 一聲冷哼從身側(cè)響起灵奖,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嚼沿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后瓷患,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骡尽,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年擅编,在試婚紗的時候發(fā)現(xiàn)自己被綠了攀细。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡爱态,死狀恐怖谭贪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锦担,我是刑警寧澤俭识,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站洞渔,受9級特大地震影響套媚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜磁椒,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一堤瘤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浆熔,春花似錦本辐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽环葵。三九已至调窍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間张遭,已是汗流浹背邓萨。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留菊卷,地道東北人缔恳。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像洁闰,于是被迫代替她去往敵國和親歉甚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內(nèi)容