Cómo depurar tus trabajadores de WorkManager con el Inspector de tareas en segundo plano

En Android Studio Arctic Fox y versiones posteriores, el Inspector de tareas en segundo plano te ayuda a visualizar, supervisar y depurar los trabajadores en segundo plano de tu app cuando usas la biblioteca de WorkManager en la versión 2.5.0 o una posterior.

Cómo comenzar

Para enumerar los trabajadores en el Inspector de tareas en segundo plano, haz lo siguiente:

  1. Ejecuta tu app en un emulador o un dispositivo conectado con nivel de API 26 o posterior.

  2. Selecciona View > Tool Windows > App Inspection en la barra de menú.

  3. Selecciona la pestaña Background Task Inspector.

  4. Selecciona el proceso de la app en ejecución en el menú desplegable.

  5. Los trabajadores de la app que se encuentra en ejecución se muestran en el panel Background Task Inspector. Haz clic en el trabajador que deseas inspeccionar mejor.

Cómo ver e inspeccionar trabajadores

Si implementas una app con WorkManager 2.5.0 o versiones posteriores en un dispositivo que ejecuta el nivel de API 26 o uno posterior, deberías ver trabajadores activos en la pestaña Background Task Inspector. El Inspector de tareas en segundo plano, que se muestra a continuación, enumera el nombre de la clase, el estado actual, la hora de inicio y los reintentos de todos los trabajos, independientemente de si se están ejecutando, si fallaron o si se completaron.

Detalles del trabajo

Si haces clic en un trabajo específico de la lista, se abre el panel Work Details, que muestra información detallada del trabajador.

Captura de pantalla de los detalles del trabajador seleccionado.
Figura 1: Detalles del trabajo.
  • La sección Description enumera el nombre de la clase de trabajador con el paquete completamente calificado, así como la etiqueta asignada y el UUID de ese trabajador.
  • La sección Execution muestra las restricciones del trabajador (si existen), la frecuencia de ejecución, su estado y la clase que creó y puso en cola este trabajador.
  • La sección WorkContinuation muestra dónde se encuentra este trabajador en la cadena de trabajo. Para verificar los detalles de otro trabajador de la cadena de trabajo, haz clic en su UUID.
  • La sección Results muestra la hora de inicio, la cantidad de reintentos y los datos de salida del trabajador seleccionado.

Cómo cancelar trabajadores

Para detener un trabajador en ejecución o en cola, selecciónalo y haz clic en Cancel Selected Worker en la barra de herramientas.

Cómo ver la vista de gráfico

Debido a que los trabajadores se pueden encadenar juntos, a veces resulta útil visualizar sus dependencias en forma de gráfico. Para ver una representación visual de una cadena de trabajadores, selecciona uno de la tabla y haz clic en Show Graph View en la barra de herramientas. Solo se dibujan los trabajadores en el gráfico.

Captura de pantalla de la vista de gráfico.
Figura 2: Vista de gráfico.

El gráfico te permite ver con rapidez las relaciones entre los trabajadores y supervisar su progreso en relaciones de encadenamiento complejas.

Para volver a la vista de lista, haz clic en Show List View .

Cómo ver e inspeccionar trabajos, alarmas y bloqueos de activación

El Inspector de tareas en segundo plano también te permite inspeccionar los trabajos, las alarmas y los bloqueos de activación de tu app. Cada tipo de tarea asíncrona ahora aparece debajo del encabezado adecuado en la pestaña del inspector, lo que te permite supervisar con facilidad su estado y progreso. Al igual que con los trabajadores, puedes seleccionar un trabajo, una alarma o un bloqueo de activación a fin de inspeccionar su información detallada en el panel Detalles de la tarea.

Para ver información detallada de un trabajador, un trabajo, una alarma o un bloqueo de activación, puedes seleccionar uno de ellos en el panel Execution que se encuentra a la derecha.

Captura de pantalla de la ventana del Inspector de tareas en segundo plano.
Figura 3: Ventana del Inspector de tareas en segundo plano.

Recursos adicionales

Para obtener más información sobre el Inspector de tareas en segundo plano, consulta los siguientes recursos adicionales:

Documentación

Codelabs

Entradas de blog