Android-software NDK nativen c-code-profiling auf aktuellen Android-Handys

Ich entwickle eine relativ große software, die auf Android-mit einem log-native-code, es funktioniert jetzt, aber einige performance-Probleme.

Ich hoffe, ich kann das Profil jedes Modul(function call) der software für die CPU-Zyklen, Arbeitsspeicher-Auslastung, etc, auf mehrere echte android-Handys. Gibt es eine einfache c-library zu tun?

Sehe ich die Menschen mit oprofile, scheint Es ein overkill für meinen Fall da, dass es ein system wild profiler, und es erfordert Wiederaufbau der kernel und system-image.

Als ich die volle source-code meiner app, alles was ich wirklich brauche, ist eine einfache c-library, die ich einbetten kann in meinem code zu tun, einige Profilerstellung, während die app läuft mehrere Testfälle.

BTW, was ist das Linux Weg, dies zu tun?

  • Können Sie führen Sie die Anwendung unter einem debugger? Sie können manuell unterbrechen von pause? Dann können Sie die random-pause-Methode, um die performance-Probleme. stackoverflow.com/questions/375913/...
  • NDK-debugger-Unterstützung nur in froyo, plus ich könnte ein systemischer Weg, wenn ich will führen Sie das profiling auf mehreren verschiedenen Handys.
  • ndk-gdb verfügbar ist, und sollte in der Lage sein, um Ihnen einen stack-trace, wenn Sie Strg-C es. Dies ist nicht vorgesehen, um die Leistung zu Messen. Es ist beabsichtigt, den code zu optimieren um die Leistung zu verbessern. Die Messung findet nicht die Probleme, sondern das finden und beheben von Problemen keine Verbesserung der Messung, unabhängig von der Plattform. (Ich weiß, das ist nicht, wie die Menschen in der Regel denken Sie über dieses, aber das ist, wie man den code schnell zu laufen.)
  • Ich glaube, in Linux müssen Sie kompilieren und verknüpfen mit -p oder -pg zum aktivieren der Profilerstellung.
InformationsquelleAutor lennydizzy | 2010-12-01
Schreibe einen Kommentar