Cómo ejecutar subprocesos en WorkManager

En la sección Cómo comenzar a usar WorkManager, mencionamos que WorkManager realiza por ti trabajos en segundo plano de forma asíncrona. La implementación básica aborda las demandas de la mayoría de las apps. Para casos de uso más avanzados, como la correcta solución de detenciones del trabajo, debes aprender sobre los subprocesos y la concurrencia de WorkManager.

Hay cuatro tipos de primitivas de trabajo diferentes que proporciona WorkManager:

  • Worker es la implementación más simple y la que se mostró en las secciones anteriores. WorkManager la ejecuta automáticamente en un subproceso, en segundo plano (que puedes anular). Obtén más información sobre los subprocesos de las instancias de Worker en Cómo ejecutar subprocesos en Worker.
  • CoroutineWorker es la implementación recomendada para usuarios de Kotlin. Las instancias CoroutineWorker exponen una función de suspensión para el trabajo en segundo plano. De forma predeterminada, ejecutan un Dispatcher predeterminado, que puedes personalizar. Obtén más información sobre los subprocesos de las instancias de CoroutineWorker en Cómo ejecutar subprocesos en CoroutineWorker.
  • RxWorker es la implementación recomendada para usuarios de RxJava. Debes usar RxWorkers si se modela una gran cantidad de tu código asíncrono existente en RxJava. Al igual que con todos los conceptos de RxJava, puedes elegir la estrategia de subprocesos que prefieras. Obtén más información sobre los subprocesos de las instancias de RxWorker en Cómo ejecutar subprocesos en RxWorker.
  • ListenableWorker es la clase base para Worker, CoroutineWorker y RxWorker. Está destinado a los desarrolladores de Java que tienen que interactuar con API asincrónicas basadas en devoluciones de llamada como FusedLocationProviderClient y que no utilizan RxJava. Obtén más información sobre los subprocesos de las instancias de ListenableWorker en Cómo ejecutar subprocesos en ListenableWorker.