1. 首先打开DDMS工具,把需要查找的APK当前堆栈dump出来。 先点case GC, 再点dump
2. 如果你的MTA工具不是IDE集成的插件,那就需要用工具先把 hprof转一下。 hprof位于您的SDK/platform-tools/下。
hprof-conv ~/Desktop/tmp/mydumpapk.hprof ~/Desktop/tmp/after.hprof
3. 打开MemoryAnalyzer,导入 after.hprof.
4. 显示Dominator Tree视图。
5. 找到可疑的android.graphics.Bitmap对象, 右键Path to GC roots -> with all references, 可以查看是谁在引用它。
6. 还是刚才的android.graphics.Bitmap对象,在它的Attributes属性上,右键 mBuffer成员变量, copy->save value to file. 填一个文件名,后缀需要写成rgba, 比如aa.rgba进行保存。
7. 下面要使用imagemagick工具了, 如没有需安装
sudo apt-get install libmagickwand-dev imagemagick
8. 计算此图片的大小:
可以通过第5步中找到可疑的图片,来计算它的大小。
比如原图是 480*173, 则其大小应该是 480*173*4。
如果刚才的对象大小不是这个数,可以计算它们的比例,因为有长和宽两条边,所以比例需要开根号。
根据比例计算出此图在此设备上的长和宽。
9. 使用命令行:
convert -size 1080x1080 -depth 8 aa.rgba aa.png
上面命令中的长宽连接符是小写字母x。
转载请注明原文地址: https://www.6miu.com/read-70311.html