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)
待续...