Depurar os workers do WorkManager usando o Inspetor de tarefas em segundo plano

No Android Studio Arctic Fox e versões mais recentes, o Inspetor de tarefas em segundo plano ajuda você a visualizar, monitorar e depurar workers de segundo plano do app ao usar a biblioteca WorkManager 2.5.0 ou mais recente.

Primeiros passos

Para listar os workers no Inspetor de tarefas em segundo plano, faça o seguinte:

  1. Execute o app em um emulador ou dispositivo conectado com o nível 26 da API ou versões mais recentes.

  2. Selecione View > Tool Windows > App Inspection na barra de menus.

  3. Selecione a guia Background Task Inspector (Inspetor de tarefas em segundo plano).

  4. Selecione o processo do app em execução no menu suspenso.

  5. Os workers no app em execução no momento são exibidos no painel Background Task Inspector. Clique no worker que você quer inspecionar mais detalhadamente.

Ver e inspecionar workers

Ao implantar um app usando o WorkManager 2.5.0 ou mais recente em um dispositivo com o nível 26 da API ou mais recente, você vai ver workers ativos na guia Background Task Inspector (Inspetor de tarefas em segundo plano). O Inspetor de tarefas em segundo plano, mostrado abaixo, lista o nome da classe, o status atual, o horário de início e as novas tentativas de todas as tarefas, estejam elas em execução, com falha ou concluídas.

Detalhes de trabalho

Ao clicar em um job específico da lista, o painel Work Details, que exibe informações detalhadas do worker, será aberto.

Captura de tela dos detalhes do worker selecionado.
Figura 1. Detalhes do trabalho.
  • Description (descrição): lista o nome da classe de worker com o pacote totalmente qualificado, assim como a tag atribuída e o UUID desse worker.
  • Execution (execução): mostra as restrições do worker, se houver, além da frequência de execução, o estado dele e qual classe criou e enfileirou esse worker.
  • WorkContinuation (continuação de trabalho): mostra onde esse worker está na cadeia de trabalho. Para verificar os detalhes de outro worker na cadeia de trabalho, clique no UUID dele.
  • Results (resultados): exibe o horário de início, a contagem de tentativas e os dados de saída do worker selecionado.

Cancelar workers

Para interromper um worker atualmente em execução ou na fila, selecione o worker e clique em Cancel Selected Worker na barra de ferramentas.

Visualizar gráfico

Como os workers podem estar encadeados, às vezes é útil ver as dependências do worker como um gráfico. Para ver uma representação visual de uma cadeia de workers, selecione um worker na tabela e clique em Show Graph View na barra de ferramentas. Somente os workers são exibidos no gráfico.

Captura de tela da visualização de gráfico.
Figura 2. Visualização de gráfico.

Com o gráfico, é possível ver rapidamente as relações entre workers e monitorar o progresso deles em relações de encadeamento complexas.

Para retornar à visualização em lista, clique em Show List View .

Ver e inspecionar tarefas, alarmes e wake locks

O Inspetor de tarefas em segundo plano também permite inspecionar as tarefas, os alarmes e os wake locks do app. Os tipos de tarefas assíncronas agora aparecem no título apropriado na guia do inspetor, permitindo monitorar facilmente o status e o progresso de cada um. Assim como os workers, é possível selecionar uma tarefa, um alarme ou um wake lock para inspecionar as informações detalhadas no painel "Task Details" (detalhes da tarefa).

Para ver informações detalhadas de um worker, uma tarefa, um alarme ou um wake lock, selecione o que quiser ver no painel Task Details à direita.

Captura de tela da janela do Inspetor de tarefas em segundo plano.
Figura 3. Janela do Inspetor de tarefas em segundo plano.

Outros recursos

Para saber mais sobre o Inspetor de tarefas em segundo plano, consulte estes outros recursos:

Documentação

Codelabs

Postagens do blog