Como criar threads no WorkManager

Em Primeiros passos com o WorkManager, mencionamos que o WorkManager realiza trabalho em segundo plano de forma assíncrona por você. A implementação básica atende às demandas da maioria dos apps. Para casos de uso mais avançados, como lidar corretamente com a interrupção do trabalho, você precisa aprender sobre linhas de execução e simultaneidade no WorkManager.

Há quatro tipos diferentes de primitivos de trabalho fornecidos pelo WorkManager:

  • Worker é a implementação mais simples e a que você viu nas seções anteriores. O WorkManager o executa automaticamente em uma linha de execução em segundo plano, que você pode substituir. Leia mais sobre linhas de execução em instâncias Worker em Linhas de execução no Worker.
  • CoroutineWorker é a implementação recomendada para os usuários do Kotlin. As instâncias CoroutineWorker expõem uma função de suspensão para trabalho em segundo plano. Elas executam um Dispatcher padrão, que pode ser personalizado. Leia mais sobre linhas de execução em instâncias CoroutineWorker em Threads no CoroutineWorker.
  • RxWorker é a implementação recomendada para os usuários do RxJava. Use os RxWorkers se grande parte do código assíncrono existente for modelado no RxJava. Assim como ocorre com todos os conceitos do RxJava, você pode escolher a estratégia de linha de execução de sua preferência. Leia mais sobre linhas de execução em instâncias RxWorker em Linhas de execução no RxWorker.
  • ListenableWorker é a classe base para Worker, CoroutineWorker e RxWorker. Ela é destinada a desenvolvedores Java que precisam interagir com APIs assíncronas baseadas em callback, como FusedLocationProviderClient, e que não estejam usando RxJava. Leia mais sobre linhas de execução em instâncias ListenableWorker em Threads no ListenableWorker.