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

O Inspetor de tarefas em segundo plano ajuda a visualizar, monitorar e depurar os workers em segundo plano do app ao usar a biblioteca WorkManager 2.5.0 ou mais recente.

Como começar

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 executando a API de nível 26 ou versões mais recentes.

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

  3. Selecione a guia Background Task Inspector.

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

  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.

Visualizar e inspecionar workers

Quando você implanta um app usando o WorkManager 2.5.0 ou mais recente em um dispositivo com a API de nível 26 ou mais recente, a guia Background Task Inspector mostra os workers ativos. O Inspetor de tarefas em segundo plano (mostrado em uma seção posterior, como na Figura 3) lista o nome da classe, o status atual, o horário de início e as novas tentativas de todos os jobs, estejam eles em execução, com falha ou concluídos.

Detalhes de trabalho

Clique em um job da lista para abrir o painel Work Details, que mostra informações detalhadas sobre o worker, conforme mostrado na Figura 1.

Captura de tela dos detalhes do worker selecionado.
Figura 1. Painel Work Details.
  • Description: lista o nome da classe de worker com o pacote totalmente qualificado, assim como a tag atribuída e o UUID desse worker.
  • Execution: mostra as restrições do worker, se houver, a frequência de execução e o estado, bem como qual classe criou e enfileirou o worker.
  • WorkContinuation: mostra onde o worker está na cadeia de trabalho. Para conferir os detalhes de outro worker na cadeia de trabalho, clique no UUID dele.
  • Results: mostra 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 em execução ou na fila, selecione-o e clique em Cancel Selected Worker na barra de ferramentas.

Visualizar gráfico

Como os workers podem estar encadeados, às vezes é útil visualizar 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.

O gráfico permite observar 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 .

Visualizar e inspecionar tarefas, alarmes e wake locks

O Inspetor de tarefas em segundo plano também permite inspecionar os jobs, os alarmes e os wake locks do app. Cada tipo de tarefa assíncrona aparece 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 um job, um alarme ou um wake lock para inspecionar as informações detalhadas no painel Task Details.

Para informações detalhadas de um worker, um job, um alarme ou um wake lock, selecione a opção 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