Systrace基本使用說明

前言

本章主要是針對初識Systrace的同學(xué)挺勿,這里講解Systrace的基本使用。
一喂柒、Systrace介紹
二不瓶、Systrace使用
三禾嫉、如何使用命令抓取trace信息

一、Systrace介紹

Systrace是Android4.1版本之后推出的蚊丐,主要用來分析android性能問題(主要診斷應(yīng)用的不流暢的問題)熙参,trace信息中大致包含以下內(nèi)容。

1. CPU使用情況
2. UI刷新掉幀情況
3. 函數(shù)執(zhí)行時間情況
4. Android各個子系統(tǒng)的運(yùn)行狀況

二麦备、Systrace使用

1.通過DDMS的Systrace工具來抓起trace信息

打開DDMS孽椰,在Android SDK目錄下可以啟動DDMS,位于android/sdk/tools目錄下凛篙,(windows下直接點(diǎn)擊monitor.bat啟動即可黍匾,linux下在命令行執(zhí)行./minitor)


Screenshot from 2020-04-10 10-08-24.png

你在抓取trace的時候,需要先鏈接設(shè)備呛梆,對應(yīng)選擇你要抓取的進(jìn)程锐涯,之后點(diǎn)擊如下圖紅色圈的按鈕,設(shè)置systrace抓取的相關(guān)數(shù)據(jù)


Screenshot from 2020-04-10 10-35-51.png

Screenshot from 2020-04-10 10-43-42.png

Destibnation File :抓取trace文件的保持路徑
Trace duration :抓取的時長填物,這里需要注意一下纹腌,盡量在15s以內(nèi),太長時間可能會造成抓取超時數(shù)據(jù)丟失的問題
Trace Buffer Size 抓取內(nèi)容的大小融痛,默認(rèn)即可
Enable Application Traces from :對應(yīng)抓取的進(jìn)程

*Commonly Used Tags:默認(rèn)都選擇即可
Advanced Options :抓取相關(guān)數(shù)據(jù)類型壶笼,可以選擇,或者全部選擇都可以

選擇完之后點(diǎn)擊ok雁刷,此時要同步操作你設(shè)備的對應(yīng)app或者對應(yīng)流程覆劈,比如我發(fā)現(xiàn)我自己listview滑動的時候會很卡,此時點(diǎn)擊ok后沛励,同時操作滑動listview界面责语,此時Systrace就會抓取你設(shè)定時間內(nèi)的trace,最后會在你設(shè)置的輸出目錄下生成一個trace.html文件目派,這個文件需要用Google Chrom瀏覽器來打開


Screenshot from 2020-04-10 11-00-43.png

[后面文章會詳細(xì)講解Trace的分析]

三坤候、如何使用命令抓取trace信息

3.1 android-sdk自帶了trace.py工具

命令如下
python systrace.py [options] [category1] [category2] ... [categoryN]

android-sdk/platform-tools/systrace
//cd到當(dāng)前目錄執(zhí)行以下命令,在執(zhí)行以下命令的時候要準(zhǔn)備好操作你的設(shè)備
python systrace.py --time=10 -o mytrace.html sched gfx view wm

3.2 相關(guān)options

options 描述
-o file 輸出的目標(biāo)文件
-t N, –time=N 執(zhí)行時間企蹭,默認(rèn)5s
-b N, –buf-size=N 用于限制trace總大小
-k KFUNCS白筹,–ktrace= KFUNCS 追蹤kernel函數(shù),用逗號分隔
-a < APP_NAME >,–app=< APP_NAME > 追蹤應(yīng)用包名谅摄,用逗號分隔
–from-file=< FROM_FILE > 從文件中創(chuàng)建互動的systrace
-e < DEVICE_SERIAL >,–serial=< DEVICE_SERIAL > 指定設(shè)備
-l, –list-categories 可舉例用的tag

3.3 相關(guān)category

category 描述
gfx Graphics
input input
view view system
webview WebView
wm Window Manager
am Activity Manager
sm Sync Manager
audio Audio
video Video
camera Camera
hal Hardware Modules
app Applacation
res Resource Loading
dalvik Dalvik VM
rs RenderScript
bionic Bionic C Library
power Power Management
sched CPU Scheduling
irq IRQ Events
freq CPU Frequency
idle CPU Idle
disk Disk I/O
mmc eMMC commands
load CPU Load
sync Synchronization
workq Kernel Workqueues
memreclaim Kernel Memory Reclaim
regulators Voltage and Current Regulators

3.4 在app添加自己的systrace log

Trace.traceBegin("performTraversals");
try {
  ……
} finally {
  Trace.traceEnd();
}

需要保證 traceBegin 與 traceEnd 一定要成對出現(xiàn)徒河。 并且一定要在同一個線程里面。Trace.traceBegin和Trace.traceEnd();之間也是可以再用Trace.traceBegin和Trace.traceEnd的送漠,加入trace的好處在于顽照,生成的trace文件中,會在跟蹤的代碼段執(zhí)行對應(yīng)時間軸區(qū)間打上一個tag標(biāo)記(比如上例中的performTraversals)如果在代碼中加入了trace闽寡,在生成trace文件時代兵,必須指定進(jìn)程為trace所在的進(jìn)程

相關(guān)參考文獻(xiàn)
http://www.reibang.com/p/0670fe8507ff
https://www.pianshen.com/article/550436274/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尼酿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子植影,更是在濱河造成了極大的恐慌裳擎,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件何乎,死亡現(xiàn)場離奇詭異句惯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)支救,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門抢野,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人各墨,你說我怎么就攤上這事指孤。” “怎么了贬堵?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵恃轩,是天一觀的道長。 經(jīng)常有香客問我黎做,道長叉跛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任蒸殿,我火速辦了婚禮筷厘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宏所。我一直安慰自己酥艳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布爬骤。 她就那樣靜靜地躺著充石,像睡著了一般。 火紅的嫁衣襯著肌膚如雪霞玄。 梳的紋絲不亂的頭發(fā)上骤铃,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機(jī)與錄音坷剧,去河邊找鬼惰爬。 笑死,一個胖子當(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
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年殉摔,在試婚紗的時候發(fā)現(xiàn)自己被綠了州胳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡逸月,死狀恐怖栓撞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情碗硬,我是刑警寧澤瓤湘,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站恩尾,受9級特大地震影響弛说,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜翰意,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一木人、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猎物,春花似錦虎囚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至堤如,卻和暖如春蒲列,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搀罢。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工蝗岖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人榔至。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓抵赢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子铅鲤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評論 2 359

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