android 内存泄漏查找

前提:一般在日志中看到如下信息基本上就是内存泄漏了,然后需要知道是哪个应用

第一步:找到内存泄漏的机器连上电脑。

第二步:输入命令找到进程号:adb shell top -d 1 -m 10,我这里是lancher泄漏,找到进程号是1025
在这里插入图片描述第三步: adb shell dumpsys meminfo xx.xx.launcher 查看这个应用下当前有多少个activity,可以确定这里有15个activity,不应该这么多,因为我们很多activity是单列的
在这里插入图片描述第四步:打开sdk目录,C:\Users\Orion\AppData\Local\Android\Sdk,点击monitor.bat在这里插入图片描述第五步:导出dump文件,找到lancher进程然后导出

https://blog.csdn.net/my_rabbit/article/details/79831911
在这里插入图片描述

第六步:转换dump文件,第五步导出的文件在MemoryAnalyzer 是不能直接看的需要转化,输入如下命令:hprof-conv.exe 导出.hprof 111.hprof,这个111.hprof就是我们转换好的

在这里插入图片描述第7步:打开MemoryAnalyzer ,然后file–>open

在这里插入图片描述第8步:输入指令查找那15个activity
在这里插入图片描述第9步:右键查找引用:在这里插入图片描述第10步:这里就知道是某activity的fragment的$1变量持有了,$1可以在maping文件中找到
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值