Nella Guida introduttiva a WorkManager abbiamo accennato al fatto che WorkManager esegue il lavoro in background in modo asincrono per tuo conto. L'implementazione di base soddisfa le esigenze della maggior parte delle app. Per casi d'uso più avanzati, ad esempio per gestire correttamente l'interruzione del lavoro, scopri di più sull'organizzazione in thread e sulla contemporaneità in WorkManager.
Sono disponibili quattro diversi tipi di primitive di lavoro fornite da WorkManager:
- Workerè l'implementazione più semplice e quella che hai visto nelle sezioni precedenti. WorkManager lo esegue automaticamente su un thread in background (che puoi sostituire). Scopri di più sull'organizzazione in thread nelle istanze- Workerin Threading nel worker.
- CoroutineWorkerè l'implementazione consigliata per gli utenti di Kotlin.- CoroutineWorkeristanze espongono una funzione di sospensione per il lavoro in background. Per impostazione predefinita, viene eseguito un- Dispatcherpredefinito, che puoi personalizzare. Scopri di più sull'organizzazione in thread nelle istanze- CoroutineWorkerin Threading in CoroutineWorker.
- RxWorkerè l'implementazione consigliata per gli utenti di RxJava. Occorre utilizzare RxWorkers se gran parte del codice asincrono esistente è modellata in RxJava. Come per tutti i concetti di RxJava, puoi scegliere liberamente la strategia di organizzazione in thread. Scopri di più sul threading nelle istanze- RxWorkerin Threading in RxWorker.
- ListenableWorkerè la classe base per- Worker,- CoroutineWorkere- RxWorker. È destinato agli sviluppatori Java che devono interagire con API asincrone basate su callback come- FusedLocationProviderCliente non utilizzano RxJava. Scopri di più sull'organizzazione in thread delle istanze- ListenableWorkerin Threading inPE WatchableWorker.
