Devo trovare dove si trovano i colli di bottiglia nella mia app Android.
Quali strumenti o tecniche di profilazione posso utilizzare?
Devo trovare dove si trovano i colli di bottiglia nella mia app Android.
Quali strumenti o tecniche di profilazione posso utilizzare?
Risposte:
Puoi usare Traceview. È tutt'altro che ideale, ma funziona. Questo articolo descrive come usarlo.
DDMS è il migliore per Android. Per impostazione predefinita, viene incluso con il plug-in ADT.
Questo documento con un esempio dettagliato dovrebbe aiutarti a gestire DDMS.
Per l'analisi della memoria, prova Eclipse MAT
Dipende da cosa testerai.
Se sviluppi applicazioni per Android dovresti provare la classe TimingLogger. Dai un'occhiata a questo articolo che descrive l'uso della classe helper TimingLogger.
Uno strumento molto buono è JMeter e c'è anche un plugin per Android .
se non si desidera utilizzare strumenti esterni, ma un modo molto standard per misurare il tempo trascorso, è necessario utilizzare System.nanoTime (). Non dovresti usare currentTimeMillis, perché misura il tempo dell'orologio da parete e, poiché nessun orologio del computer è perfetto (tutti occasionalmente devono essere corretti) c'è un processo che viene eseguito e fornisce continuamente piccole correzioni all'orologio di sistema. Per non parlare della correzione del secondo intercalare.
Sebbene currentTimeMillis venga spesso utilizzato, non è ancora corretto misurare il tempo e il tempo trascorso. Comunque, poiché l'invocazione richiede un po 'di tempo, non dovresti aspettarti di cronometrare correttamente intervalli molto piccoli. Ma questo non dovrebbe essere un problema lavorando con Android.
Ti mostro un esempio:
long startTime = System.nanoTime();
// run/call the method
long endTime = System.nanoTime();
long diff = endTime - startTime ;
System.out.println("Elapsed milliseconds: " + diff /1000000);
Potresti dare un'occhiata anche a questa libreria gratuita: http://jetm.void.fm/ .
Puoi anche trovare tutorial per JMeter .
Un altro strumento consigliato in http://developer.android.com/training/articles/perf-tips.html è Caliper: https://code.google.com/p/caliper/ . (Non l'ho usato, quindi non ne so molto.)