.hprof文件(hprof文件)

.hprof文件(hprof文件)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p>解析Hprof文件<br /> 1.安装MemoryAnalyzer-1.15.0.-win32.win32.x86_64<br /> <img src="https://i-blog.csdnimg.cn/blog_migrate/4e30cab0134cad1d38de69e6ee3ae59e.png" alt="在这里插入图片描述" /></p> 

讯享网

2.打开报错:Version1.8.0 of the jvm is not suitable for this product,Version17 or greater isrequired
在这里插入图片描述
讯享网

配置java位置
MemoryAnalyzer.ini文件中添加:
-vm
C:Files
3.打开从设备中pull出的hprof文件报错:Unknown HPROF Version (JAVA PROFILE 1.0.3)
需要使用C:-tools下工具hprof-conv.exe
4.cmd到此目录下运行以下命令
在这里插入图片描述

hprof-conv aa.hprof bb.hprof
aa.hprof指需要转换的文件
bb.hprof转换完成之后生成的文件
5.使用MAT打开转化生成hprof文件
在这里插入图片描述

5.Objects表示这个类对应的对象数量
Shallow Heap:表示该对象在没有引用其他对象,它自己本身的大小
Retained Heap:表示该对象自己本身的大小再加上该对象直接或者间接引用的对象的大小总和
(一般操作是点击Objects按照数量排序,然后check Shallow Heap大小)
在这里插入图片描述

6.点击怀疑的类
在这里插入图片描述

设备压测MTBF发生OutOfResourcesException,设备发生重启

从log中可以看到是Layer创建过多导致的OutOfResourcesException

讯享网

1.怀疑可能是Surface的创建和销毁存在异常

(由于该问题只会在user版本上复现,userdebug版本上面不会复现到,因此需要添加log打印

debug版本可以查看wmtrace文件,文件位置:datamiscwmtrace)

 

复现问题后查看log,create和destory对应,该怀疑点排除。

2.查看hprof文件,根据报错堆栈查看android.view.SurfaceControl$Transaction的引用对象,怀疑同mWindowMap相关

在这里插入图片描述

添加打印log

讯享网

最终定位到一个mTokenMap只有add没有remove,推动三方应用进行修改。

小讯
上一篇 2025-06-08 11:02
下一篇 2025-04-25 21:15

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/183522.html