web-dev-qa-db-fra.com

Comment puis-je profiler mon Android Android?

Je dois trouver où se trouvent les goulots d'étranglement dans mon Android.

Quels outils ou techniques de profilage puis-je utiliser?

92
teedyay

Vous pouvez utiliser Traceview. C'est loin d'être idéal, mais ça marche. Cet article décrit comment l'utiliser.

37
cement

DDMS est le meilleur pour Android. Par défaut, il est inclus avec le plugin ADT.

Ce document avec un exemple détaillé devrait vous aider à gérer DDMS.


Pour l'analyse de la mémoire, essayez Eclipse MAT

18
Shahul3D

Cela dépend de ce que vous allez tester.

Si vous développez des applications pour Android vous devriez essayer la classe TimingLogger. Jetez un œil à cet article décrivant l'utilisation de la classe d'assistance TimingLogger.

Un très bon outil est JMeter et il y a aussi plugin pour Android .

si vous ne voulez pas utiliser d'outils externes, mais d'une manière très standard, pour mesurer le temps écoulé, vous devez utiliser System.nanoTime (). Vous ne devriez pas utiliser currentTimeMillis, car il mesure le temps de l'horloge murale et, car aucune horloge d'ordinateur n'est parfaite (elles doivent toutes être corrigées de temps en temps), il existe un processus qui s'exécute et émet continuellement de petites corrections sur l'horloge système. Sans parler de la correction de la seconde intercalaire.

Bien que currentTimeMillis soit souvent utilisé, il est toujours incorrect de mesurer le temps écoulé et le timing. Quoi qu'il en soit, comme l'invocation prend un certain temps, vous ne devez pas vous attendre à chronométrer correctement de très très petits intervalles. Mais cela ne devrait pas être un problème avec Android.

Je vais vous montrer un exemple:

long startTime = System.nanoTime();

// run/call the method

long endTime = System.nanoTime();
long diff = endTime - startTime ;
System.out.println("Elapsed milliseconds: " + diff /1000000);

Vous pouvez également consulter cette bibliothèque gratuite: http://jetm.void.fm/ .

Vous pouvez également trouver un tutoriel pour JMeter également.

11
David

Un autre outil recommandé dans http://developer.Android.com/training/articles/perf-tips.html est Caliper: https://code.google.com/p/caliper / . (Je ne l'ai pas utilisé, donc je n'en sais pas grand-chose.)

0
Erhannis