El tutor de nuestro curso online de Desarrollo de Aplicaciones para Android, Víctor Ramírez Las,…
DDMS: depuración de procesos en Android
2.
DDMS: depuración de procesos en Android
DDMS o «Dalvik Debug Monitor Server», como ya definimos en anteriores tutoriales sobre la API SQLite, es un monitor de servidor de la máquina virtual Dalvik para la depuración de procesos en Android.
Para acceder a la perspectiva DDMS en nuestro IDE Eclipse, se deberá hacer a través de la ruta «Window/Open Perspective/DDMS«, como mostramos en la siguiente imagen:
Una vez seleccionada la perspectiva, podremos personalizar las pestañas que se encuentran por defecto. Para ello bastaría con seguir la siguiente ruta y seleccionar las vistas que se adapten más a nuestras necesidades «Window/Show View«. En la imagen vemos las opciones que se muestran:
Una vez hayamos establecido nuestra perspectiva DDMS se podrá guardar la configuración realizada a través de la opción «Save Perspective As…»
Vista general de la Perspectiva DDMS
En la siguiente imagen (pincha en ella para verla ampliada) tenemos una vista completa de la perspectiva DDMS por defecto. No se abordará la vista File Explorer ya que ha sido explicada en un tutorial anterior:
LogCat
La vista LogCat es la encargada de mostrar el sistema de registros de Android, proporcionando un mecanismo para recopilar y ver la salida de depuración del sistema. Permite cazar los registros de diferentes aplicaciones y del sistema, recogidos a través de una serie de buffers circulares, pudiendo ver y filtrar dichos registros.
Tipos de filtros:
- V: Verbose (prioridad más baja)
- D: Depuración
- I: Info (Prioridad por defecto)
- W: Advertencia
- E: Error
- F: Fatal
Además es posible realizar un filtro personalizado con más detalles, como los mensajes de filtrado con las etiquetas de registro o con el ID del proceso que generó el mensaje de registro (pincha en la imagen para verla ampliada):
Devices
La vista Devices muestra los diferentes dispositivos que actualmente están en ejecución y conectados al ADB (Android Debugging Bridge), asignándole a cada uno de los procesos un puerto para la depuración de todo el tráfico que maneja dicho proceso:
Threads
La vista Threads muestra los procesos actualmente en ejecución del proceso seleccionado. Para ello previamente debemos seleccionar el proceso en la lista de dispositivos (Devices), y al pulsar sobre el botón «Refresh«, mostrará la información del proceso:
Heap
La vista Heap permite visualizar la cantidad de memoria de almacenamiento dinámico utilizada por un proceso. Esta información resulta de gran utilidad para controlar el uso de la pila en un punto de tiempo determinado durante la ejecución de la aplicación.
Para ver el uso de la pila de un proceso:
- En primer lugar se seleccionará en la lista de dispositivos el proceso del que se desea mostrar la información de pila.
- Se pulsará en el botón “Refresh” para mostrar la información de pila del proceso.
- En la ficha Heap, se pulsa sobre el botón “Cause GC” para llamar al recolector de basura. Al finalizar la operación, se podrá apreciar un grupo de tipos de objetos y la memoria que se ha asignado para cada tipo.
Allocation Tracker
La vista Allocation Tracker permite realizar un seguimiento de la memoria que está siendo asignada a los objetos y visualizar las clases asignadas a estos. El seguimiento se realiza en tiempo real, y proporciona una información muy útil para ver el rendimiento de la aplicación.
Para realizar este seguimiento es necesario:
- Seleccionar un proceso en la lista de dispositivos.
- Al pulsar «Start Tracking» comenzará el seguimiento de asignación y se habilitará la opción «Get Allocations», para mostrar los objetos asignados.
- Si seleccionamos cualquiera de los objetos mostrados, se obtendrá información detallada, como por ejemplo el método y la línea de código donde se asigna el objeto.
- Para detener el seguimiento o borrar los datos bastará con pulsar sobre «Stop Tracking» y realizar la misma operación comentada en los puntos anteriores.
Screen Capture
Dentro de las opciones de la ventana «Devices«, podemos encontrar un icono en forma de cámara, que nos permitirá realizar capturas de pantalla de la UI (interfaz) de nuestra aplicación:
Network Statistics
A partir de Android 4.0, el DDMS incluye una vista que permite mostrar el uso de red, de manera detallada, haciendo posible realizar un seguimiento de cuando la aplicación está realizando solicitudes de red. Con esta herramienta, se puede controlar cómo y cuándo se realizan transferencias de datos desde las aplicaciones y optimizar el código subyacente de manera apropiada. También es posible distinguir entre los diferentes tipos de tráfico mediante la aplicación de un «Tag» a la red sockets antes de su uso.
Emulator Control
La vista Emulator Control proporciona la posibilidad de simular llamadas de teléfono y un entorno de red de datos. Esta característica es muy útil para comprobar la fiabilidad de la aplicación en diferentes entornos de red.
Este control permite configurar el estado de la red, la velocidad y la latencia. Las posibles configuraciones dentro del estado del teléfono son las siguientes:
- Voz: sin registrar, hogar, itinerancia, buscando, negado.
- Datos: sin registrar, hogar, itinerancia, buscando, negado.
- Velocidad: Completa, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA.
- Latencia: GPRS, EDGE, UMTS.
Además, dentro de las acciones del teléfono, permite simular una llamada de teléfono o envío de un SMS con sólo introducir un número de teléfono dentro del campo «Incoming number«.
Otra de las opciones es poder simular diferentes ubicaciones del teléfono, para probar diferentes aspectos de las características de la localización de una aplicación, sin necesidad de mover el dispositivo físicamente. Las posibles opciones son:
- Manual: permite introducir los valores de latitud y longitud en sistema de numeración decimal o sexagesimal.
- GPX: esquema XML para transferir datos GPS entre aplicaciones.
- KML: representa datos geográficos en tres dimensiones.
System Information
La vista «System Information» muestra información relacionada con el estado de recursos utilizados en el dispositivo o emulador, mostrando tanto la carga de CPU como el uso de memoria:
Autor: José Antonio Gázquez – Academia Android