Android性能分析工具--Android Monitor

Android Studio 中Android Monitor 很強(qiáng)大,有5個(gè)模塊,Memory、Network、logcat、CPU、GPU。

android monitor
  • 內(nèi)存檢測(cè) memory

memory

這個(gè)可以檢測(cè)內(nèi)存泄漏,如果這個(gè)值穩(wěn)定,沒(méi)有很大的變動(dòng),說(shuō)明沒(méi)什么問(wèn)題。

對(duì)于圖中從左到右的四個(gè)五個(gè)按鈕:第一個(gè)(Enabled)Memory的開(kāi)關(guān)。如果選擇關(guān)閉,則不對(duì)當(dāng)前進(jìn)程進(jìn)行內(nèi)存監(jiān)測(cè);第二個(gè)(Initiate GC)手動(dòng)調(diào)用GC,我們?cè)谧?nèi)存前,一定要手動(dòng)點(diǎn)擊 Initiate GC按鈕手動(dòng)觸發(fā)GC,這樣抓到的內(nèi)存使用情況就是不包括Unreachable對(duì)象的;第三個(gè)(Dump Heap java)點(diǎn)擊這個(gè)按鈕的時(shí)刻,就在點(diǎn)擊的時(shí)刻,將獲取hprof文件(hprof文件也是我們使用MAT工具分析內(nèi)存時(shí)經(jīng)常使用的文件)若進(jìn)行簡(jiǎn)單的數(shù)據(jù)分析用這個(gè)就可以,需要詳細(xì)分析那么就得使用MAT工具,如圖:

image.png

A 區(qū)域可以看類(lèi)視圖,class list view;或者包視圖,package tree view。
B 區(qū)域?qū)?yīng)的是A中選中類(lèi)的實(shí)例對(duì)象。
C 區(qū)域是對(duì)應(yīng)B中選中實(shí)例的引用鏈,dominating size可以看到占用的大小

第四個(gè)按鈕(Start Allocaton Tracking)開(kāi)始分配追蹤,第一次點(diǎn)擊可以指定追蹤內(nèi)存的開(kāi)始位置,第二次點(diǎn)擊可以結(jié)束追蹤的位置。這樣我們截取了一段要分析的內(nèi)存,等待幾秒鐘AndroidStudio會(huì)給我們打開(kāi)一個(gè)Allocation視圖.

image.png

打開(kāi)后我們可以看到各個(gè)線程中的方法所占用內(nèi)存的大小


thread
image.png

第五個(gè)按鈕就是跳轉(zhuǎn)到官網(wǎng)說(shuō)明的網(wǎng)頁(yè):https://developer.android.com/studio/profile/am-memory.html?utm_source=android-studio

  • NetWork:

Tx:上傳網(wǎng)速
Rx:下載網(wǎng)速。

image.png
  • CPU

這個(gè)模塊可以監(jiān)控方法執(zhí)行的時(shí)間軸,可以監(jiān)測(cè)到每個(gè)方法的耗時(shí),比較實(shí)用。

image.png
image.png

我們可以看到每個(gè)方法的執(zhí)行時(shí)間,也可以看到自己寫(xiě)的方法,
Inclusive time - 函數(shù)本身運(yùn)行花費(fèi)時(shí)間 + 函數(shù)調(diào)用其他函數(shù)時(shí)間
Exclusive time - 函數(shù)本身運(yùn)行花費(fèi)時(shí)間。
Invocation count - 是調(diào)用次數(shù)。
如果app卡頓現(xiàn)象,那么用此模塊可以快速定位出比較耗時(shí)的方法。
Wall Clock Time 和Thread Time的區(qū)別是,Wall Clock Time 包括了Thread Sleep的時(shí)間,而Thread Time不包括。

  • GPU

分析GPU的性能,實(shí)時(shí)查看繪制每一幀所花費(fèi)的時(shí)間:https://developer.android.com/studio/profile/am-gpu.html

  • Logcat:打log絕對(duì)是調(diào)試中非常好用的工具了

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容