Déboguer les workers WorkManager avec Background Task Inspector

Background Task Inspector vous permet de visualiser, surveiller et déboguer les workers en arrière-plan de votre application lorsque vous utilisez la bibliothèque WorkManager 2.5.0 ou une version ultérieure.

Premiers pas

Pour consulter la liste des workers dans Background Task Inspector, procédez comme suit :

  1. Exécutez votre application sur un émulateur ou un appareil connecté exécutant le niveau d'API 26 ou supérieur.

  2. Sélectionnez View > Tool Windows > App Inspection (Vue > Fenêtres d'outils > Inspection des applications) dans la barre de menu.

  3. Sélectionnez l'onglet Background Task Inspector.

  4. Sélectionnez le processus d'application en cours d'exécution dans le menu.

  5. Les workers de l'application en cours d'exécution apparaissent dans le volet Background Task Inspector. Cliquez sur le worker que vous souhaitez inspecter plus en détail.

Afficher et inspecter les workers

Lorsque vous déployez une application à l'aide de WorkManager 2.5.0 ou version ultérieure sur un appareil exécutant l'API 26 ou une version ultérieure, l'onglet Background Task Inspector affiche les workers actifs. L'outil Background Task Inspector (présenté dans une section ultérieure dans la figure 3) affiche le nom de la classe, l'état actuel, l'heure de début et les nouvelles tentatives de toutes les tâches, qu'elles soient en cours d'exécution, en échec ou terminées.

Détails de l'activité

Cliquez sur une tâche dans la liste pour ouvrir le panneau Work Details (Détails de l'activité), qui affiche des informations détaillées sur le worker, comme illustré à la figure 1.

Capture d'écran des détails du worker sélectionné.
Figure 1 : Panneau Work Details
  • Description : cette section indique le nom de la classe du worker avec le package complet, ainsi que la balise attribuée et l'UUID de ce worker.
  • Execution (Exécution) : cette section affiche les contraintes du worker (le cas échéant), la fréquence d'exécution, l'état, ainsi que la classe ayant créé et mis en file d'attente le worker.
  • WorkContinuation (Continuité de la tâche) : cette section indique où se trouve ce worker dans la chaîne de travail. Pour vérifier les détails d'un autre worker de la chaîne de travail, cliquez sur son UUID.
  • Results (Résultats) : cette section affiche l'heure de début, le nombre de nouvelles tentatives et les données de sortie du worker sélectionné.

Annuler des workers

Pour arrêter un worker en cours d'exécution ou placé en file d'attente, sélectionnez le worker, puis cliquez sur Cancel Selected Worker (Annuler le worker sélectionné)  dans la barre d'outils.

Afficher la vue graphique

Les workers peuvent être enchaînés. Il est donc parfois utile de visualiser leurs dépendances sous la forme d'un graphique.

Pour afficher la représentation visuelle d'une chaîne de workers, sélectionnez un worker dans le tableau, puis cliquez sur Show Graph View (Afficher la vue graphique)  dans la barre d'outils. Seuls les workers sont représentés dans le graphique.

Capture d'écran de la vue graphique.
Figure 2 : Vue graphique

Le graphique vous permet de visualiser rapidement les relations entre les workers et de surveiller leur progression dans les relations de chaînage complexes.

Pour revenir à la vue sous forme de liste, cliquez sur Show List View (Afficher la vue Liste) .

Afficher et inspecter les tâches, les alarmes et les wakelocks

Background Task Inspector vous permet également d'inspecter les tâches, les alarmes et les wakelocks de votre application. Chaque type de tâche asynchrone apparaît sous l'en-tête approprié dans l'onglet "Inspector" (Inspecteur), ce qui vous permet de surveiller facilement son état et sa progression.

Comme pour les workers, vous pouvez sélectionner une tâche, une alarme ou un wakelock pour inspecter ses informations détaillées dans le panneau "Task Details" (Détails de la tâche).

Pour afficher des informations détaillées sur un worker, une tâche, une alarme ou un wakelock, sélectionnez l'élément dans le panneau Task Details (Détails de la tâche) à droite.

Capture d'écran de la fenêtre "Background Task Inspector".
Figure 3 : Fenêtre "Background Task Inspector"

Ressources supplémentaires

Pour en savoir plus sur Background Task Inspector, consultez les ressources supplémentaires suivantes :

Documentation

Ateliers de programmation

Articles de blog