android studio trace,天猫Android性能优化1—AndroidStudio内置的Traceview视图
8種機(jī)械鍵盤軸體對(duì)比
本人程序員,要買一個(gè)寫代碼的鍵盤,請(qǐng)問(wèn)紅軸和茶軸怎么選?
Traceview是分析Android性能不可或缺的利器。目前一般是用DDMS或者ADT里面的traceview工具來(lái)查看的。哪怕是AndroidStudio官網(wǎng)也是如此推薦。
一個(gè)偶然的機(jī)會(huì),發(fā)現(xiàn)AndroidStudio本身可以查看Traceview文件,而且更直觀。
它分成三部分:頂部工具欄,中間的“Flamechart”顯示執(zhí)行過(guò)程及調(diào)用堆棧,底部的表格顯示該線程中各個(gè)函數(shù)的執(zhí)行時(shí)間與調(diào)用次數(shù)。
頂部工具欄
Thread: 選擇你要查看哪個(gè)線程的執(zhí)行情況,默認(rèn)是主線程的。
x-axis: Wall Clock Time就是Real Time,該函數(shù)開始執(zhí)行和結(jié)束執(zhí)行之間的時(shí)間差。Thread Time就是CPU Time,真實(shí)消耗CPU的時(shí)間。
Color by inclusive time: 在中間的Flamechart中,默認(rèn)是根據(jù)exclusive time著色的。如果根據(jù)inclusive time著色,函數(shù)執(zhí)行時(shí)間越長(zhǎng),顏色越深,所以頂層的函數(shù)顏色是最深的。
Zoom fit:縮放用的,用鼠標(biāo)滾輪也能實(shí)現(xiàn)。
Find:查找某個(gè)函數(shù)。
中間的Flamechart
橫向表示時(shí)間線上函數(shù)的執(zhí)行情況,長(zhǎng)度越長(zhǎng),表示函數(shù)的執(zhí)行時(shí)間越長(zhǎng)。縱向表示調(diào)用堆棧。
以上圖為例。第一行只有一個(gè)main()函數(shù),它是函數(shù)調(diào)用堆棧的root,我們的trace一直在main()函數(shù)的執(zhí)行時(shí)間內(nèi)。第二行比較明顯的有TMHomePageView()和TMHomePageActivity.init()函數(shù),表示在我們trace期間,main()調(diào)用了這兩個(gè)函數(shù)消耗了大部分時(shí)間。其中以TMHomePageActivity.init()最為耗時(shí)。第三行則顯示了TMHomePageView()和TMHomePageActivity.init()調(diào)用的函數(shù),以此類推。
底部表格
Name: 該列表示該線程中所執(zhí)行的函數(shù)。
Invocation Count: 該函數(shù)的總調(diào)用次數(shù),包括遞歸調(diào)用。
Inclusive Time:即Real Time,函數(shù)開始執(zhí)行到執(zhí)行結(jié)束的時(shí)間差。
Exclusive Time: 即CPU Time, 函數(shù)正在消耗CPU的時(shí)間。
總結(jié)
該視圖的優(yōu)點(diǎn)是直觀,容易上手。如果你只關(guān)注某個(gè)線程上的函數(shù)執(zhí)行情況,用該工具是極好的。
附錄
總結(jié)
以上是生活随笔為你收集整理的android studio trace,天猫Android性能优化1—AndroidStudio内置的Traceview视图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 硬盘分区整数计算器(如何让硬盘容量成整数
- 下一篇: C语言直线拟合函数