MAT使用

下載:http://eclipse.org/mat/downloads.php

MAT工具全稱(chēng)為Memory Analyzer Tool,一款詳細(xì)分析Java堆內(nèi)存的工具幢哨,該工具非常強(qiáng)大道逗,為了使用該工具姚炕,我們需要hprof文件囊嘉。但是該文件不能直接被MAT使用谨履,需要進(jìn)行一步轉(zhuǎn)化这橙,可以使用hprof-conv命令來(lái)轉(zhuǎn)化奏窑,但是Android Studio可以直接轉(zhuǎn)化,轉(zhuǎn)化方法如下:

1.選擇一個(gè)hprof文件,點(diǎn)擊右鍵選擇Export to standard .hprof選項(xiàng)屈扎。


2.填寫(xiě)更改后的文件名和路徑:


image.png

點(diǎn)擊OK按鈕后埃唯,MAT工具所需的文件就生成了,下面我們用MAT來(lái)打開(kāi)該工具:
1.打開(kāi)MAT后選擇File->Open File選擇我們剛才生成的doctorq.hprof文件


image.png

2.選擇該文件后鹰晨,MAT會(huì)有幾秒種的時(shí)間解析該文件墨叛,有的hprof文件可能過(guò)大止毕,會(huì)有更長(zhǎng)的時(shí)間解析,解析后漠趁,展現(xiàn)在我們的面前的界面如下:


image.png

這是個(gè)總覽界面扁凛,會(huì)大體給出一些分析后初步的結(jié)論

Overview視圖

該視圖會(huì)首頁(yè)總結(jié)出當(dāng)前這個(gè)Heap dump占用了多大的內(nèi)存,其中涉及的類(lèi)有多少闯传,對(duì)象有多少谨朝,類(lèi)加載器,如果有沒(méi)有回收的對(duì)象甥绿,會(huì)有一個(gè)連接字币,可以直接參看(圖中的Unreachable Objects Histogram)。 比如該例子中顯示了Heap dump占用了41M的內(nèi)存共缕,5400個(gè)類(lèi)洗出,96700個(gè)對(duì)象,6個(gè)類(lèi)加載器图谷。 然后還會(huì)有各種分類(lèi)信息:

Biggest Objects by Retained Size

會(huì)列舉出Retained Size值最大的幾個(gè)值共苛,你可以將鼠標(biāo)放到餅圖中的扇葉上,可以在右側(cè)看出詳細(xì)信息:

image.png

圖中灰色區(qū)域蜓萄,并不是我們需要關(guān)心的,他是除了大內(nèi)存對(duì)象外的其他對(duì)象澄峰,我們需要關(guān)心的就是圖中彩色區(qū)域嫉沽,比如圖中2.4M的對(duì)象,我們來(lái)看看該對(duì)象到底是啥:

image.png

該對(duì)象是一個(gè)Bitmap對(duì)象俏竞,你如果想知道該對(duì)象到底是什么圖片绸硕,可以使用圖片工具gimp工具瀏覽該對(duì)象.

histogram視圖

histogram視圖主要是查看某個(gè)類(lèi)的實(shí)例個(gè)數(shù),比如我們?cè)跈z查內(nèi)存泄漏時(shí)候魂毁,要判斷是否頻繁創(chuàng)建了對(duì)象玻佩,就可以來(lái)看對(duì)象的個(gè)數(shù)來(lái)看。也可以通過(guò)排序看出占用內(nèi)存大的對(duì)象:


image.png

默認(rèn)是類(lèi)名形式展示席楚,你也可以選擇不同的顯示方式咬崔,有以下四種方式:


image.png

下面來(lái)演示一下:


image.png

Dominator tree視圖

image.png

該視圖會(huì)以占用總內(nèi)存的百分比來(lái)列舉所有實(shí)例對(duì)象,注意這個(gè)地方是對(duì)象而不是類(lèi)了烦秩,這個(gè)視圖是用來(lái)發(fā)現(xiàn)大內(nèi)存對(duì)象的垮斯。這些對(duì)象都可以展開(kāi)查看更詳細(xì)的信息,可以看到該對(duì)象內(nèi)部包含的對(duì)象:


image.png

Leaks suspects視圖

image.png
image.png

這個(gè)視圖會(huì)展示一些可能的內(nèi)存泄漏的點(diǎn)只祠,比如上圖上圖顯示有3個(gè)內(nèi)存泄漏可疑點(diǎn)兜蠕,我們以Problem Suspect 1為例來(lái)理解該報(bào)告,首先我們來(lái)看該可疑點(diǎn)詳細(xì)信息:


image.png

上面信息顯示ImageCahe類(lèi)的一個(gè)實(shí)例0xa50819f8占用了14.19%的內(nèi)存抛寝,具體值為5147200字節(jié)(5147200/1024/1024=4.9M),并存放在LinkedHashMap這個(gè)集合中熊杨,然后我們點(diǎn)擊Details跳轉(zhuǎn)到更詳細(xì)的頁(yè)面:


image.png

這樣我們就能找到在我們的app源碼中造成該泄漏可疑點(diǎn)的地方曙旭,很容易去定位問(wèn)題.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市晶府,隨后出現(xiàn)的幾起案子桂躏,更是在濱河造成了極大的恐慌,老刑警劉巖郊霎,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沼头,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡书劝,警方通過(guò)查閱死者的電腦和手機(jī)进倍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)购对,“玉大人猾昆,你說(shuō)我怎么就攤上這事÷獍” “怎么了垂蜗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)解幽。 經(jīng)常有香客問(wèn)我贴见,道長(zhǎng),這世上最難降的妖魔是什么躲株? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任片部,我火速辦了婚禮,結(jié)果婚禮上霜定,老公的妹妹穿的比我還像新娘档悠。我一直安慰自己,他們只是感情好望浩,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布辖所。 她就那樣靜靜地躺著,像睡著了一般磨德。 火紅的嫁衣襯著肌膚如雪缘回。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天剖张,我揣著相機(jī)與錄音切诀,去河邊找鬼。 笑死搔弄,一個(gè)胖子當(dāng)著我的面吹牛幅虑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顾犹,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼倒庵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼褒墨!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起擎宝,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤郁妈,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后绍申,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體噩咪,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年极阅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胃碾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡筋搏,死狀恐怖仆百,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情奔脐,我是刑警寧澤俄周,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站髓迎,受9級(jí)特大地震影響峦朗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜排龄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一甚垦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧涣雕,春花似錦、人聲如沸闭翩。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)疗韵。三九已至兑障,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蕉汪,已是汗流浹背流译。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留者疤,地道東北人福澡。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像驹马,于是被迫代替她去往敵國(guó)和親革砸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子除秀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359