Android App優(yōu)化之性能分析工具

系列文:

  1. 背景:Android App優(yōu)化, 要怎么做?
  2. Android App優(yōu)化之性能分析工具
  3. Android App優(yōu)化之提升你的App啟動(dòng)速度之理論基礎(chǔ)
  4. Android App優(yōu)化之提升你的App啟動(dòng)速度之實(shí)例挑戰(zhàn)
  5. Android App優(yōu)化之Layout怎么擺
  6. Android App優(yōu)化之ANR詳解
  7. Android App優(yōu)化之消除卡頓
  8. Android App優(yōu)化之內(nèi)存優(yōu)化
  9. Android App優(yōu)化之持久電量
  10. Android App優(yōu)化之如何高效網(wǎng)絡(luò)請(qǐng)求

今天聊下個(gè)人比較慣用的一些App性能測(cè)試和分析工具, 先上個(gè)圖:
![性能分析工具]

tools_mind_node

本文暫不對(duì)工具的使用做過(guò)多的深入.
在后續(xù)的具體實(shí)例中會(huì)具體說(shuō)明怎么用這些工具來(lái)達(dá)成分析目的和解決問(wèn)題的.

1, 官方工具

一般來(lái)說(shuō), 學(xué)習(xí)一門(mén)新的技術(shù), 最應(yīng)該做的就是閱讀其官方文檔, 那是最權(quán)威的.
Android本身給我們提供了很多App性能測(cè)試和分析工具, 而且大部分都集成到Android Studio或DDMS中, 非常方便使用.

1.1 StrictMode

  • 說(shuō)明
    顧名思義, "嚴(yán)格模式", 主要用來(lái)限制應(yīng)用做一些不符合性能規(guī)范的事情. 一般用來(lái)檢測(cè)主線(xiàn)程中的耗 時(shí)操作和阻塞. 開(kāi)啟StrictMode后, 如果線(xiàn)程中做一些諸如讀寫(xiě)文件, 網(wǎng)絡(luò)訪(fǎng)問(wèn)等操作, 將會(huì)在Log console輸出一些警告, 警告信息包含Stack Trace來(lái)顯示哪個(gè)地方出了問(wèn)題.

  • 文檔

  • 作用

    • 主要用來(lái)做主線(xiàn)程優(yōu)化分析

1.2 Systrace

  • 說(shuō)明
    Systrace是一個(gè)收集和檢測(cè)時(shí)間信息的工具, 它能顯示CPU和時(shí)間被消耗在哪兒了, 每個(gè)進(jìn)程和線(xiàn)程都在其CPU時(shí)間片內(nèi)做了什么事兒. 而且會(huì)指示哪個(gè)地方出了問(wèn)題, 以及給出Fix建議.
    其以trace文件(html)的方式記錄. 可以直接用Chrome瀏覽器打開(kāi)查看. 界面如下:
Systrace

1.3 Hierarchy Viewer

  • 說(shuō)明
    Hierarchy Viewer提供了一個(gè)可視化的界面來(lái)觀(guān)測(cè)布局的層級(jí), 讓我們可以?xún)?yōu)化布局層級(jí), 刪除多余的不必要的View層級(jí), 提升布局速度.
Hierarchy Viewer

有必要說(shuō)明下的是:
上圖紅框標(biāo)出的三個(gè)點(diǎn)是關(guān)鍵分析數(shù)據(jù). 左起依次代表View的Measure, Layout和Draw的性能. 另外顏色表示該View的該項(xiàng)時(shí)間指數(shù), 分為:
* 綠色, 表示該View的此項(xiàng)性能比該View Tree中超過(guò)50%的View都要快.
* 黃色, 表示該View的此項(xiàng)性能比該View Tree中超過(guò)50%的View都要慢.
* 紅色, 表示該View的此項(xiàng)性能是View Tree中最慢的.

Hierarchy Viewer需要Root的機(jī)器(產(chǎn)品機(jī)沒(méi)有開(kāi)啟ViewServer)才可以執(zhí)行.
可以使用第三方的開(kāi)源的ViewServer來(lái)協(xié)助我們?cè)谖碦oot的機(jī)器上使用Hierarchy Viewer分析.

1.4 TraceView

  • 說(shuō)明
    一個(gè)圖形化的工具, 用來(lái)展示和分析方法的執(zhí)行時(shí)間.
TraceView

1.5 Memory Monitor

  • 說(shuō)明
    內(nèi)存使用檢測(cè)器, 可以實(shí)時(shí)檢測(cè)當(dāng)前Application的內(nèi)存使用和釋放等信息, 并以圖形化界面展示.
Memory Monitor

1.6 Other Monitor

1.7 其他

Android的開(kāi)發(fā)者模式中也提供了較多的用來(lái)監(jiān)測(cè)性能的選項(xiàng), 可以用下:

Developer options

2, 第三方工具

以下工具全部開(kāi)源, 開(kāi)源萬(wàn)歲...

2.1 Google的Battery Historian

2.2 網(wǎng)易的

  • 說(shuō)明
    針對(duì)Android App的CPU, 內(nèi)存, 網(wǎng)絡(luò), 電量等多項(xiàng)綜合的測(cè)試分析.

  • 文檔

  • 作用

    • 比官方工具更適合國(guó)人使用來(lái)做App的整體性能分析.

2.3 Square

  • 說(shuō)明
    Square出品, 必屬精品.
    類(lèi)似與App探針的內(nèi)存泄露監(jiān)測(cè)工具.

  • 文檔

  • 作用

    • 集成到App中, 用來(lái)做內(nèi)存問(wèn)題預(yù)防最好不過(guò)了.

2.4 AndroidDevMetrics

  • 說(shuō)明
    一個(gè)library, 用來(lái)檢測(cè)Activity生命周期執(zhí)行性能, Dagger2注入性能以及幀率性能的工具.

  • 文檔

  • 作用

    • 如果你的應(yīng)用使用的Dagger2, 這個(gè)就比較必要了.

3, 結(jié)語(yǔ)

MAT沒(méi)有側(cè)重的提, 是因?yàn)檫@個(gè)工具在ADT時(shí)代比較常用, AS2.0之后, 本身的Memory Monitor越來(lái)越強(qiáng)大, 結(jié)合日益完善的第三方工具基本上可以完成內(nèi)存方面的優(yōu)化了.

歡迎大家分享自己常用的App性能分析工具, 共同學(xué)習(xí)~
_

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末候齿,一起剝皮案震驚了整個(gè)濱河市钞速,隨后出現(xiàn)的幾起案子恩敌,更是在濱河造成了極大的恐慌,老刑警劉巖容贝,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件权谁,死亡現(xiàn)場(chǎng)離奇詭異敦跌,居然都是意外死亡鲸鹦,警方通過(guò)查閱死者的電腦和手機(jī)慧库,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)馋嗜,“玉大人齐板,你說(shuō)我怎么就攤上這事「鸸剑” “怎么了甘磨?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)眯停。 經(jīng)常有香客問(wèn)我济舆,道長(zhǎng),這世上最難降的妖魔是什么莺债? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任滋觉,我火速辦了婚禮,結(jié)果婚禮上齐邦,老公的妹妹穿的比我還像新娘椎侠。我一直安慰自己,他們只是感情好措拇,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布我纪。 她就那樣靜靜地躺著,像睡著了一般丐吓。 火紅的嫁衣襯著肌膚如雪宣羊。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天汰蜘,我揣著相機(jī)與錄音仇冯,去河邊找鬼。 笑死族操,一個(gè)胖子當(dāng)著我的面吹牛苛坚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播色难,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼泼舱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了枷莉?” 一聲冷哼從身側(cè)響起娇昙,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笤妙,沒(méi)想到半個(gè)月后冒掌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體噪裕,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年股毫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了膳音。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡铃诬,死狀恐怖祭陷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情趣席,我是刑警寧澤兵志,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站宣肚,受9級(jí)特大地震影響想罕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜钉寝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闸迷。 院中可真熱鬧嵌纲,春花似錦、人聲如沸腥沽。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)今阳。三九已至师溅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盾舌,已是汗流浹背墓臭。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妖谴,地道東北人窿锉。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像膝舅,于是被迫代替她去往敵國(guó)和親嗡载。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,504評(píng)論 25 707
  • afinalAfinal是一個(gè)android的ioc仍稀,orm框架 https://github.com/yangf...
    passiontim閱讀 15,401評(píng)論 2 45
  • 原文: http://www.cnblogs.com/yezhennan/p/5442031.html UI性能測(cè)...
    vb12閱讀 4,255評(píng)論 0 9
  • 不知道為何今天很想敲鍵盤(pán).......... 又或者是找一個(gè)地方把自己的心情寫(xiě)下來(lái)罷了 我是一個(gè)來(lái)自臺(tái)灣的女孩洼滚,來(lái)...
    吳小魚(yú)閱讀 331評(píng)論 0 1
  • 遇見(jiàn)你之前,我就是我技潘,不一樣的煙火遥巴。遇見(jiàn)你之后千康,因?yàn)槟悖蚁氤蔀楦玫淖约骸? 18歲的成人禮挪哄,遇見(jiàn)你...
    逢束閱讀 305評(píng)論 0 0