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,点击emulator
第五步:导出dump文件,找到lancher进程然后导出
https://blog.****.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文件中找到