android 性能优化之内存泄漏分析工具-Mat使用

Mat 工具的安装方法:
1. Mat (Memory Analyzer Tool) 基于eclipse下载连接:

http://www.eclipse.org/mat/downloads.php

2. 可以在eclispe上安装mat插件:

在这里插入图片描述
点击eclipse marketplace…搜索memory。
在这里插入图片描述

使用android studio 下载APP内存信息
  1. android studio 运行APP 后,点击 Profiler, 然后点击 MEMORY
    在这里插入图片描述

  2. 点击 在这里插入图片描述
    在这里插入图片描述
    等一段时候后,会出现以下界面,选中 HEAP Dump , 然后点击导出 hprof 文件
    在这里插入图片描述

在使用mat 工具分析之前我们需要把AS 导出的hprof 文件转换一下,
转换工具在android sdk/platform-tools/hprof-conv 路径下

命令

hprof-conv -z src dst

如:
hprof-conv -z E:/as-memory-20220629T225907.hprof   E:/memory-20220629T225907.hprof

在Mat中打开hprof文件
在这里插入图片描述

之后我们能看到
在这里插入图片描述
我们点击
在这里插入图片描述

以直方图的方式来显示当前内存使用情况可能更加适合较为复杂的内存泄漏分析,它默认直接显示当前内存中各种类型对象的数量及这些对象的shallow heap和retained heap。结合MAT提供的不同显示方式,往往能够直接定位问题
shallow heap:指的是某一个对象所占内存大小。
retained heap:指的是一个对象与所包含对象所占内存的总大小。

out 查看这个对象持有的外部对象引用。
incoming 查看这个对象被哪些外部对象引用。

我们希望查看为什么这个对象还存在,排除软弱虚引用。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
具体分析Referenced Objects 比较多的对象,那就有可能存在内存泄漏

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值