J’ai besoin de trouver où les goulets d’étranglement sont dans mon application Android.
Quels outils ou les techniques de profilage puis-je utiliser ?
J’ai besoin de trouver où les goulets d’étranglement sont dans mon application Android.
Quels outils ou les techniques de profilage puis-je utiliser ?
Vous pouvez utiliser Traceview. Il est loin d’être idéal, mais il fonctionne. Cet article décrit comment l’utiliser.
Ça dépend qu'est-ce que vous allez tester.
Dans le cas où vous développez des applications pour Android, vous devriez essayer le TimingLogger classe. Jetez un oeil à cet article décrivant l'utilisation de la TimingLogger classe d'aide.
Un très goot est l'outil JMeter et il y a un plugin pour Android .
si vous ne voulez pas utiliser des outils externes, mais d'une manière très standard, afin de mesurer le temps écoulé, vous devez utiliser le Système.nanoTime(). Vous ne devriez pas utiliser currentTimeMillis, car il mesure l'horloge murale ans, qu'aucune horloge de l'ordinateur est parfait (tous de temps en temps besoin d'être corrigé) il y a un processus qui s'exécute continuellement des problèmes de petites corrections de l'horloge système. Pour ne pas mentionner le saut de seconde correction.
Bien que currentTimeMillis est souvent utilisé, c'est toujours incorrecte, pour mesurer le temps écoulé et le calendrier. De toute façon, comme l'invocation prend un certain temps, ne vous attendez pas à correctement le temps très très petits intervalles. Mais cela ne devrait pas être un problème de travail avec Android.
Je vais vous montrer un exemple:
long startTime = System.nanoTime();
// run/call the method
long endTime = System.nanoTime();
long diff = lEndTime - lStartTime;
System.out.println("Elapsed milliseconds: " + difference/1000000);
Vous pourriez avoir un coup d'oeil à cette bibliothèque libre ainsi: http://jetm.void.fm/
Un autre outil recommandé dans http://developer.android.com/training/articles/perf-tips.html est étrier : https://code.google.com/p/caliper/. (Je n’ai pas utilisé, donc je ne sais pas grand-chose.)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.