TraceView 的使用
TraceView 的使用
TraceView 簡(jiǎn)介
TraceView 是 Android 平臺(tái)特有的數(shù)據(jù)采集和分析工具,它主要用于分析 Android 中應(yīng)用程序的 hotspot,對(duì)java層代碼以及framework層代碼進(jìn)行分析。(native方法無(wú)法直接分析)
TraceView 本身只是一個(gè)數(shù)據(jù)分析工具,而數(shù)據(jù)的采集則需要使用 Android SDK 中的 Debug 類或者利用 DDMS 工具。
官方文檔地址:
TraceView 的生成
traceview的使用方法有兩種:
在一些關(guān)鍵代碼段開(kāi)始前調(diào)用 Android SDK 中 Debug 類的 startMethodTracing 函數(shù),并在關(guān)鍵代碼段結(jié)束前調(diào)用 stopMethodTracing 函數(shù)。這兩個(gè)函數(shù)運(yùn)行過(guò)程中將采集運(yùn)行時(shí)間內(nèi)該應(yīng)用所有線程(注意,只能是 Java 線程)的函數(shù)執(zhí)行情況,并將采集數(shù)據(jù)保存到 /mnt/sdcard/ 下的一個(gè)文件中。
DDMS 中 TraceView 使用示意圖如下,通過(guò)選擇 Devices 中的應(yīng)用后點(diǎn)擊
按鈕 Start Method Profiling(開(kāi)啟方法分析)和點(diǎn)擊Stop Method Profiling(停止方法分析)
開(kāi)啟方法分析后對(duì)應(yīng)用的目標(biāo)頁(yè)面進(jìn)行測(cè)試操作,測(cè)試完畢后停止方法分析,界面會(huì)跳轉(zhuǎn)到 DDMS 的 trace 分析界面
###TraceView 的分析
一. 通過(guò)AndroidStudio 打開(kāi)trace文件,展示的界面如下:
將方法調(diào)用順序可視化,方法執(zhí)行的時(shí)間也可視化了。
tips:Android studio 打開(kāi)后,面板中文字特別小,此時(shí)可以通過(guò)放大鏡來(lái)查看。(Mac 快捷鍵:option + command + 8)
二. 通過(guò)ADM打開(kāi)trace文件,展示的界面如下:
TraceView 界面比較復(fù)雜,其 UI 劃分為上下兩個(gè)面板,即 Timeline Panel(時(shí)間線面板)和 Profile Panel(分析面板)。上圖中的上半部分為 Timeline Panel(時(shí)間線面板),Timeline Panel 又可細(xì)分為左右兩個(gè) Pane:
舉個(gè)例子:
private void init(){a();b();c();d();for(int i=0;i<100;i++){System.out.print("i = " + i);} }###TraceView 的實(shí)踐
先通過(guò)TraceView找到 hotspot,一般hopspot函數(shù)有以下兩種:
舉個(gè)例子:
如上圖,獲取sharedPreference 耗時(shí)很?chē)?yán)重,阻塞主線程,將該操作拋到異步線程。
###總結(jié)
性能優(yōu)化就像海綿中的水,擠一擠總會(huì)有的。同時(shí),性能優(yōu)化并不是一勞永逸的工作,而是一個(gè)漫長(zhǎng)而具有挑戰(zhàn)的任務(wù);項(xiàng)目的各個(gè)階段都會(huì)有性能上的問(wèn)題,在用戶體驗(yàn)的基礎(chǔ)上持續(xù)進(jìn)行打磨,持續(xù)保持產(chǎn)品的良好性能才能贏得好口碑。(和保持身體健康是一個(gè)道理)
總結(jié)
以上是生活随笔為你收集整理的TraceView 的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PropertyUtils.copyPr
- 下一篇: 第四届“传智杯”全国大学生IT技能大赛(