思路:复现泄漏步骤,dump hprof 文件,用MAT工具分析大对象的引用链。
操作步骤:
1、adb shell 进入Android 系统
2、am dumpheap [进程名] /data/local/tmp/temp.hprof
3、另起一个终端 “adb pull /data/local/tmp/temp.hprof 电脑上的路径” ,把hprof 文件pull到电脑上
4、此时hprof 文件为Android hprof 文件,需要用SDK hprof-conv 工具转化成 java 的hprof
5、另起一个终端,进入platform-tools 文件夹,运行命令:hprof-conv 需要转化的文件 转化之后的地址
例如 hprof-conv H:\temp.hprof H:\temp_conv.hprof
6、下载MAT工具,可以去官网下载 地址:https:
7、使用Mat工具打开hprof文件后,点击Dominator Tree,工具会列出所有对象,并且可以很直观的看到每一个对象占用的内存大小。
8、找到自己的包名下类名,右键Path To GC Roots -> with all references,就可以找到该类所有引用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2019-12-05 linuxC线程pthread的相关理解
2017-12-05 OpenGL第十四节:绘制重复纹理