Android Native内存泄漏诊断
1、基础诊断方法
特点:操作简单,但只能判断是否有泄漏,但需使用者自行判断泄漏在哪里
命令行方式
adb shell dumpsys meminfo vStudio.Android.Camera360 -d
结果如图:
Android Studio
1、选中机器和进程,点击箭头所指按钮
2、点击Memory Usage
示例
例如,若需检测取景页是否有内存泄漏
先在首页检测一次
此时Native Heap占用20M
进入取景页再检测一次,此时占用53M
可见取景页目前占用了33M内存
然后反复进入同时检测,如果每次进入NativeHeap都有增加,那肯定是泄漏了
2、进阶诊断方法
假设前面确实检测出底层内存泄漏了,怎么办呢?
如果你是一个能把代码倒背如流的高手,同时灵光一闪,想起哪儿出的问题,那么恭喜你问题解决了
否则,我们还是借助工具进行下一步吧
背景
Android Studio 的DDMS 下有一个隐藏的功能 “native heap”,能够分析底