Android Native内存泄漏检测方法

Posted zzc1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Native内存泄漏检测方法相关的知识,希望对你有一定的参考价值。

android 检测 C/C++内存泄漏的方法越来越简便了,下面列举一下不同场景下检测C/C++内存泄漏的方法。

Android O(针对root设备,调试APP)

1. 准备一个userdebug或eng版本手机,下载native_heapdump_viewer.py脚本备用

2. 执行以下命令

adb shell setprop wrap.<APP_PACKAGE_NAME> "LIBC_DEBUG_MALLOC_OPTIONS=backtrace"

3. 执行重现路径N次

4. 执行以下命令,其中/some/path/to/symbols/是指存放带有符号信息so文件的文件夹,默认是$ANDROID_PRODUCT_OUT/symbols。

adb shell am dumpheap -n <PID_TO_DUMP> /data/local/tmp/heap.txt

adb shell pull /data/local/tmp/heap.txt

python development/scripts/native_heapdump_viewer.py --html --symbols /some/path/to/symbols/ heap.txt > heap_info.html

 

 

Android O(针对未root设备,调试APP)

待续...

以上是关于Android Native内存泄漏检测方法的主要内容,如果未能解决你的问题,请参考以下文章

JNI——Android Native代码的内存泄漏问题

Netty源码-内存泄漏检测toLeakAwareBuffer

我的Android进阶之旅如何在NDK开发的时候定位Native层的内存泄漏?

我的Android进阶之旅如何在NDK开发的时候定位Native层的内存泄漏?

Android内存泄漏分析及检测工具LeakCanary简介

android 内存泄漏检测工具 LeakCanary 泄漏金丝雀