用GIMP查看MAT中bitmap原图

前言

我们在用MAT(Memory Analyzer Tool)分析Android内存时,会发现大量的bitmap对象占了内存使用。但是很难定位究竟是哪张图片占用了内存,本文介绍一种查看bitmap原图的方法。

前提

安装GIMP,GIMP是一个开源的图像处理工具,可以免费下载,安装。http://www.gimp.org/
eclipse MAT已经dump出hprof文件

操作步骤

  1. 右键选择android.graphics.bitmap对象。List objects---with outgoing references.
    Screen_Shot_2014_08_17_at_10_11_53_PM

  2. 右键选中“mBuffer”,在弹出框选择 “copy--save value to file”,选择本地文件路径,保存为xxx.data文件。
    Screen_Shot_2014_08_17_at_10_14_28_PM

  3. 打开eclipse inspector 视图。
    方法:eclipse 导航条,Window---Show View---Other,选择“inspector”。打开这个视图的目的是记录这个bitmap的mWidth(宽度)和mHeight(高度),这两个属性,待会在GIMP中要用到。
    Screen_Shot_2014_08_17_at_10_17_10_PM

  4. 打开GIMP,选择File--Open,打开刚刚保存到本地的xxx.data文件。在弹出的对话框中,image type选择“RGB Alpha”,width和height输入刚刚从inspector中获得的mWidth和mHeight的值。点击Open,就可以看到原图啦。
    Screen_Shot_2014_08_17_at_10_22_39_PM

Screen_Shot_2014_08_17_at_10_24_56_PM

用这种方法,方便我们排查大图引起内存问题。


注意:

1:以上的操作中保存位data格式的图片一定要看一下里面的数据是否和之前的数据一致。


2:用gimp工具打开时,需要将类型改为rgb alpha


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值