MAT工具使用

MAT使用

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

MAT工具全稱為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)瞧栗。
image.png

2.填寫更改后的文件名和路徑:

image.png

3點(diǎn)擊OK按鈕后,MAT工具所需的文件就生成了海铆,下面我們用MAT來(lái)打開該工具:

3.1.打開MAT后選擇File->Open File選擇我們剛才生成的doctorq.hprof文件

image.png

3.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)存锤岸,其中涉及的類有多少,對(duì)象有多少板乙,類加載器是偷,如果有沒有回收的對(duì)象,會(huì)有一個(gè)連接募逞,可以直接參看(圖中的Unreachable Objects Histogram)蛋铆。 比如該例子中顯示了Heap dump占用了41M的內(nèi)存,5400個(gè)類放接,96700個(gè)對(duì)象戒职,6個(gè)類加載器。 然后還會(huì)有各種分類信息:

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è)類的實(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)是類名形式展示针炉,你也可以選擇不同的顯示方式,有以下四種方式:


image.png

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


image.png

Dominator tree視圖

image.png

該視圖會(huì)以占用總內(nèi)存的百分比來(lái)列舉所有實(shí)例對(duì)象扳抽,注意這個(gè)地方是對(duì)象而不是類了篡帕,這個(gè)視圖是用來(lái)發(fā)現(xiàn)大內(nèi)存對(duì)象的。這些對(duì)象都可以展開查看更詳細(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類的一個(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)的地方固蛾,很容易去定位問題.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末结执,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子魏铅,更是在濱河造成了極大的恐慌昌犹,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件览芳,死亡現(xiàn)場(chǎng)離奇詭異斜姥,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)沧竟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門铸敏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人悟泵,你說(shuō)我怎么就攤上這事杈笔。” “怎么了糕非?”我有些...
    開封第一講書人閱讀 165,011評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵蒙具,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我朽肥,道長(zhǎng)禁筏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評(píng)論 1 294
  • 正文 為了忘掉前任衡招,我火速辦了婚禮篱昔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己州刽,他們只是感情好空执,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著穗椅,像睡著了一般辨绊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上房待,一...
    開封第一講書人閱讀 51,610評(píng)論 1 305
  • 那天邢羔,我揣著相機(jī)與錄音,去河邊找鬼桑孩。 笑死拜鹤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的流椒。 我是一名探鬼主播敏簿,決...
    沈念sama閱讀 40,352評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼宣虾!你這毒婦竟也來(lái)了惯裕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤绣硝,失蹤者是張志新(化名)和其女友劉穎蜻势,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鹉胖,經(jīng)...
    沈念sama閱讀 45,717評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡握玛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了甫菠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挠铲。...
    茶點(diǎn)故事閱讀 40,021評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖寂诱,靈堂內(nèi)的尸體忽然破棺而出拂苹,到底是詐尸還是另有隱情,我是刑警寧澤痰洒,帶...
    沈念sama閱讀 35,735評(píng)論 5 346
  • 正文 年R本政府宣布瓢棒,位于F島的核電站,受9級(jí)特大地震影響丘喻,放射性物質(zhì)發(fā)生泄漏音羞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評(píng)論 3 330
  • 文/蒙蒙 一仓犬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧舍肠,春花似錦搀继、人聲如沸窘面。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)财边。三九已至,卻和暖如春点骑,著一層夾襖步出監(jiān)牢的瞬間酣难,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工黑滴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留憨募,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,224評(píng)論 3 371
  • 正文 我出身青樓袁辈,卻偏偏與公主長(zhǎng)得像菜谣,于是被迫代替她去往敵國(guó)和親剂府。 傳聞我的和親對(duì)象是個(gè)殘疾皇子僵缺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評(píng)論 2 355

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