Android查找图片泄漏的方法

xiaoxiao2021-02-28  109

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

最新回复(0)