Exécuter des threads dans WorkManager

Dans les Premiers pas avec WorkManager, nous avons vu que WorkManager effectue une tâche en arrière-plan de manière asynchrone en votre nom. L'intégration de base répond aux demandes de la plupart des applications. Apprenez-en davantage sur les exécutions de threads et la simultanéité dans WorkManager pour les cas d'utilisation plus avancés, tels que la gestion correcte des tâches en cours d'arrêt.

Quatre types différents de rôles primitifs fournis par WorkManager existent :

  • Worker est l'intégration la plus simple, que nous avons vue dans les sections précédentes. Work Manager l'exécute automatiquement sur un thread d'arrière-plan (que vous pouvez ignorer). Pour en savoir plus sur l'exécution des threads dans les instances Worker, consultez les exécutions de threads dans Worker.
  • CoroutineWorker est l'intégration recommandée pour les utilisateurs de Kotlin. Les instances CoroutineWorker exposent une fonction de suspension pour les tâches en arrière-plan. Par défaut, elles exécutent un Dispatcher par défaut que vous pouvez personnaliser. Pour en savoir plus sur l'exécution de threads dans des instances CoroutineWorker, consultez les exécutions de threads dans CoroutineWorker.
  • RxWorker est l'intégration recommandée pour les utilisateurs de RxJava. Utilisez RxWorkers si une grande partie de votre code asynchrone existant est modélisée dans RxJava. Comme pour tous les concepts RxJava, vous êtes libre de choisir la stratégie d'exécution de threads de votre choix. Pour en savoir plus sur l'exécution de threads dans les instances RxWorker, consultez les exécutions de threads dans RxWorker.
  • ListenableWorker est la classe de base pour Worker, CoroutineWorker et RxWorker. Elle est destinée aux développeurs Java qui doivent interagir avec des API asynchrones basées sur le rappel, telles que FusedLocationProviderClient, et qui n'utilisent pas RxJava. Pour en savoir plus sur l'exécution de threads dans des instances ListenableWorker, consultez les exécutions de threads dans ListenableWorker.