Come posso testare un'applicazione per prestazioni in Android? Qual è il supporto fornito in Android e come lo uso?Come testare le prestazioni di un'applicazione Android?
risposta
Se si desidera profilare l'applicazione per individuare i colli di bottiglia delle prestazioni, è possibile utilizzare use the traceview
tool. Questo ti dà una visione grafica delle tracce di performance della tua applicazione.
Per creare una traccia aggiungere il seguente al codice in cui si desidera avviare l'analisi:
Debug.startMethodTracing("myapp");
e quindi inserire il seguente quando si desidera interrompere l'analisi:
Debug.stopMethodTracing();
Questo creerà un file di traccia chiamata myapp.trace
nella directory principale della scheda SD. Come è scritto sulla scheda SD:
- Se si utilizza l'emulatore, è necessario add an SD card to your AVD.
Avrai bisogno di dare il permesso all'applicazione di scrivere sulla scheda SD aggiungendo quanto segue al manifesto:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Una volta che il file è stato creato è necessario copiare sul tuo PC. È possibile farlo usando il comando adb
:
adb pull /sdcard/myapp.trace c:/my/dir/myapp.trace
Infine, avviare traceview
dandogli il percorso completo nel file di traccia:
traceview c:/my/dir/myapp.trace
ho avuto alcuni problemi con traceview
non aver con OutOfMemory
eccezioni . Ho fissato questo su Windows modificando l'ultima linea di traceview.bat
da:
call java -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*
a:
call java -Xmx1g -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*
Aggiunta l'opzione -Xmx1g
permette traceview
di utilizzare più memoria.
Inoltre, teoricamente, DDMS può ottenere allocazioni di memoria per il programma e quindi è possibile analizzare il dump utilizzando i profiler. DDMS Reference.
Il motivo per cui in teoria sono in corsivo è che io stesso non ho ancora provato a fare qualcosa di simile.
link was dead .. –
May go here: https://developer.android.com/studio/profile/ddms.html –
Penso che traceView contenga troppe informazioni, puoi facilmente perdersi.
La mia soluzione è solo registrare l'ora del sistema in tre punti nel codice.
Prima e dopo e centro al potienziale codice lento.
come ricerca binaria, la prossima volta, restringerlo gradualmente, quindi trovare il codice colpevole.
è possibile utilizzare carico corridore,
uso questo link per trovare più abut esso,
passi da seguire sono i seguenti:..
- Crea nuovo VuGen Script
- Seleziona applicazione mobile-HTTP/HTML
- Opzioni di registrazione -> Selezionare Registra Emulator
- Dare percorso Record Emulator come D: \ Android \ AVD Manager.exe
- Nella riga di comando AVD_NAME -avd -netspeed pieno nessuno -netdelay dove AVD_Name è il nome di voi dispositivo
- selezionare la directory di lavoro
- Fare clic su fine
Ora è possibile eseguire il test.,
Anothe r modo di test è Utilizzo TruClient su Load Runner
passaggi da seguire per il Mobile Web sono:
- Nuova VuGen Script
- mobile protocollo
- Selezionare TruClient Mobile Web
- Click Crea
- Ora puoi generare script
- Fai clic su Develop Script Pulsante finestra pop-up
- appare per selezionare il dispositivo
- Selezionare Azioni ed è possibile registrare gli script
passi da seguire per Native mobile sono:
- Nuova VuGen Script
- Protocollo mobile
- Seleziona TruClient Native Mobile
- Fai clic su Crea
- Ora è possibile generare script
- click sviluppare lo script
- finestra TruClient che collegato con Firefox appare
- Fare clic su Impostazioni generali
- configurare la porta SERVER URL
- Se u non conoscono l'URL del server porta significa installare l'applicazione OS MONITOR sul tuo dispositivo.qui è possibile trovare l'indirizzo IP
- inserire il nome utente e la password
- Clicca fatto
è possibile registrare gli script ed eseguire il test ....
- 1. Come testare le prestazioni di un'applicazione Web AngularJS?
- 2. Quali strumenti sono disponibili per testare le prestazioni dell'istruzione SQL?
- 3. qual è il modo corretto per testare le prestazioni NFS
- 4. Testare le app Android Wear sul telefono?
- 5. Come testare le API
- 6. Come testare un progetto di libreria Android
- 7. Gli annunci Android rallentano molto le prestazioni
- 8. Come testare le prestazioni/benchmark di un'app Rails con database del mondo reale?
- 9. Come posso testare l'ottimizzazione delle prestazioni dell'unità in C#?
- 10. Come testare le classi astratte
- 11. Come testare le query HQL?
- 12. Come testare le transazioni MySQL?
- 13. Come valutare le prestazioni dei server Web?
- 14. Come posso testare le Query di Django?
- 15. Come posso testare le migrazioni di FluentMigrator?
- 16. Come testare le implementazioni di Guice AbstractModule?
- 17. Come testare le dichiarazioni di stampa?
- 18. Come aumentare le prestazioni del disegno bitmap su Android
- 19. Come aumentare le prestazioni usando Processing per Android?
- 20. Come migliorare le prestazioni del database SQLite per Android
- 21. Che cos'è Android Pre-Dexing e come aumentare le prestazioni?
- 22. Sencha Touch 2 - Prestazioni Android
- 23. Come testare l'acquisto in-app in Android?
- 24. Come valutare le prestazioni CUDA?
- 25. Come testare un AlertDialog in Android?
- 26. Prestazioni WebView Android
- 27. La scrittura di troppi registri riduce le prestazioni dell'applicazione Android?
- 28. Come migliorare le prestazioni di ViewFlipper/ViewAnimator
- 29. come migliorare le prestazioni di purePDF?
- 30. Come migliorare le prestazioni di WinForms MSChart?
Thanks..i proverà questo. –
C'è un modo per ottenere informazioni come la reattività, la latenza di avvio, i cicli della CPU utilizzati da un'applicazione –
Mi chiedo se voi ragazzi utilizzate TraceView da solo per i benchmark delle prestazioni dell'interfaccia utente, o se lo automatizzate realmente, per esempio combinato con la struttura di test di Robotium (robotium.org). Qualche "buona pratica" a tale riguardo? –