studio sgoliver personalizar herramientas busqueda barra bar actionbar java android performance profiling

java - sgoliver - ¿Cómo puedo perfilar mi aplicación de Android?



sgoliver toolbar (4)

Necesito encontrar dónde están los cuellos de botella en mi aplicación de Android.

¿Qué herramientas o técnicas de creación de perfiles puedo usar?


DDMS es lo mejor para Android. Por defecto, se incluye con el complemento ADT.

This documento con un ejemplo detallado debería ayudarlo a manejar el DDMS.

Para el análisis de memoria, prueba Eclipse MAT


Depende de qué vas a probar.

En caso de que desarrolles aplicaciones para Android, deberías probar la clase TimingLogger. Eche un vistazo a este artículo que describe el uso de la clase de ayuda TimingLogger.

Una herramienta muy buena es JMeter y también hay un complemento para Android .

si no desea utilizar herramientas externas, sino de forma muy estándar, para medir el tiempo transcurrido, debe utilizar System.nanoTime (). No debe usar currentTimeMillis, ya que mide el tiempo del reloj de pared, ya que ningún reloj de la computadora es perfecto (todos a veces deben corregirse) hay un proceso que se ejecuta y continuamente emite pequeñas correcciones al reloj del sistema. Sin mencionar la segunda corrección de salto.

Aunque currentTimeMillis se usa a menudo, sigue siendo incorrecto medir el tiempo transcurrido y el tiempo. De todos modos, como la invocación lleva algo de tiempo, no debe esperar establecer correctamente intervalos muy pequeños. Pero eso no debería ser un problema para trabajar con Android.

Te mostraré un ejemplo:

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

También puede consultar esta biblioteca gratuita: http://jetm.void.fm/ .

También puede encontrar un tutorial para JMeter también.



Puede usar Traceview. Está lejos de ser ideal, pero funciona. Este artículo describe cómo usarlo.