WorkManager-Worker mit dem Hintergrund-Task Inspector debuggen

Mit dem Task Inspector im Hintergrund können Sie die Hintergrund-Worker Ihrer App visualisieren, überwachen und debuggen, wenn Sie die WorkManager-Bibliothek ab Version 2.5.0 verwenden.

Erste Schritte

So listen Sie Worker im Hintergrundaufgabeninspektor auf:

  1. Führen Sie Ihre App auf einem Emulator oder verbundenen Gerät mit API-Level 26 oder höher aus.

  2. Wählen Sie in der Menüleiste Ansicht > Toolfenster > App-Prüfung aus.

  3. Wählen Sie den Tab Background Task Inspector aus.

  4. Wählen Sie im Menü den Prozess der laufenden Anwendung aus.

  5. Die Worker in der aktuell ausgeführten Anwendung werden im Bereich Hintergrundaufgabenprüfer angezeigt. Klicken Sie auf den Worker, den Sie weiter untersuchen möchten.

Worker ansehen und prüfen

Wenn Sie eine App mit WorkManager 2.5.0 oder höher auf einem Gerät mit API-Level 26 oder höher bereitstellen, werden auf dem Tab Background Task Inspector die aktiven Worker angezeigt. Im Background Task Inspector, der in einem weiteren Abschnitt wie Abbildung 3 zu sehen ist, werden der Klassenname, der aktuelle Status, die Startzeit und Wiederholungsversuche für alle Jobs aufgelistet, unabhängig davon, ob sie ausgeführt werden, fehlgeschlagen sind oder abgeschlossen sind.

Angaben zur Arbeit

Klicken Sie in der Liste auf einen Job, um den Bereich Work Details (Arbeitsdetails) zu öffnen, in dem detaillierte Informationen über den Worker angezeigt werden (siehe Abbildung 1).

Screenshot der Details des ausgewählten Workers.
Abbildung 1. Work Details (Arbeitsdetails).
  • Beschreibung: In diesem Abschnitt werden der Name der Worker-Klasse mit dem voll qualifizierten Paket sowie das zugewiesene Tag und die UUID des Workers aufgeführt.
  • Ausführung: In diesem Abschnitt werden gegebenenfalls die Einschränkungen des Workers, die Ausführungshäufigkeit und der Status angezeigt. Außerdem wird angezeigt, welche Klasse den Worker erstellt und in die Warteschlange gestellt hat.
  • WorkContinuation: In diesem Abschnitt wird angezeigt, wo sich der Worker in der Workchain befindet. Klicken Sie auf dessen UUID, um die Details eines anderen Workers in der Arbeitskette zu prüfen.
  • Ergebnisse: In diesem Abschnitt werden die Startzeit, die Anzahl der Wiederholungen und die Ausgabedaten des ausgewählten Workers angezeigt.

Worker kündigen

Wenn Sie einen derzeit ausgeführten oder in der Warteschlange befindlichen Worker beenden möchten, wählen Sie den Worker aus und klicken Sie in der Symbolleiste auf Ausgewählten Worker abbrechen .

Grafikansicht anzeigen

Da Worker miteinander verkettet werden können, ist es manchmal nützlich, die Worker-Abhängigkeiten als Diagramm zu visualisieren.

Wählen Sie einen Worker aus der Tabelle aus und klicken Sie in der Symbolleiste auf Grafikansicht anzeigen , um eine visuelle Darstellung einer Worker-Kette zu sehen. In der Grafik werden nur Worker dargestellt.

Screenshot der Grafikansicht.
Abbildung 2. Diagrammansicht.

Im Diagramm können Sie schnell die Beziehungen zwischen Workern erkennen und ihren Fortschritt in komplexen Verkettungsbeziehungen überwachen.

Um zur Listenansicht zurückzukehren, klicken Sie auf Listenansicht anzeigen .

Jobs, Alarme und Wakelocks ansehen und prüfen

Mit dem Background Task Inspector können Sie auch die Jobs, Alarme und Wakelocks Ihrer App überprüfen. Jeder Typ asynchroner Aufgaben wird auf dem Tab „Inspector“ unter der entsprechenden Überschrift angezeigt, sodass Sie Status und Fortschritt ganz einfach überwachen können.

Ähnlich wie Worker können Sie einen Job, einen Alarm oder einen Wakelock auswählen, um die zugehörigen detaillierten Informationen im Bereich „Task Details“ (Aufgabendetails) zu überprüfen.

Um detaillierte Informationen zu einem Worker, Job, Alarm oder Wakelock aufzurufen, wählen Sie ihn rechts im Bereich Task Details (Aufgabendetails) aus.

Screenshot des Fensters Background Task Inspector.
Abbildung 3. Das Fenster „Task Inspector“ im Hintergrund

Weitere Informationen

Weitere Informationen zum Hintergrundaufgabeninspektor finden Sie in den folgenden zusätzlichen Ressourcen:

Dokumentation

Codelabs

Blogposts