Обнаружение утечки памяти в Android-коде - PullRequest
1 голос
/ 08 мая 2011

Каков наилучший способ обнаружения утечек памяти в собственном коде, построенном с помощью Android NDK?

Есть ли какой-нибудь инструмент, такой как valgrind, который я мог бы использовать?

1 Ответ

1 голос
/ 22 февраля 2012

Вы загружаете библиотеку * .so с помощью System.loadLibrary, чем вызываете любые функции jni. Таким образом, вы можете определить функции «запуска» и «очистки» - вы можете выполнить инициализацию в первом func и освободить все ресурсы во втором. В этом случае можно использовать любой из большого количества доступных средств отслеживания утечек - например, вы можете увидеть следующее:

http://dmalloc.com/

http://www.andreasen.org/LeakTracer/

http://memwatch.sourceforge.net/

http://mpatrol.sourceforge.net/

О Валгринде: https://stackoverflow.com/a/7815977/814297

...