Подтвердить что ты не робот

Android: есть ли какой-нибудь инструмент для профилирования собственного кода?

Я нашел только один инструмент профилирования - http://code.google.com/p/android-ndk-profiler/. Пока не удалось заставить его работать, поэтому мне интересно, есть ли другие инструменты. Мне нужно профиль на физическом устройстве, так как мое приложение даже не работает на эмуляторе.

4b9b3361

Ответ 1

Нелегко сделать работу профилировщика Android-NDK. Вам необходимо выполнить шаги здесь.

Вот несколько советов, которые привели меня к успеху:

  • Убедитесь, что ваш android.mk верен и вы экспортируете NDK_MODULE_PATH.
  • Правильно используйте следующие функции

    monstartup ( "your_lib.so" );

    moncleanup();

  • Если теперь создается gmon.out, вам нужно вытащить его с устройства, но нигде на вашем ПК. Для меня это работает, только если я перейду в папку приложения (где jni, obj, res и другие папки), и я:

    консоль $ adb pull sdcard/gmon.out

  • Затем запустите gprof. Попробуйте все версии в своих инструментальных средствах NDK. Для меня работал только один:

    консоль $ ~/Библиотеки/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gprof obj/local/armeabi-v7a/libxxxx.so > profile.txt

Ответ 2

Блестящий профайлер независим от платформы, он работает в любом месте и у него нет никаких зависимостей, кроме стандартного компилятора С++. В более простом использовании все, что вам нужно сделать, это добавить макрос в начале всех функций и методов (или, по крайней мере, те, которые вы хотите профилировать).

Ответ 4

В NDK r13b появился новый инструмент под названием simpleperf