0Pricing
Android Academy · Lezione

Quando usare WorkManager

Scelga lo strumento corretto per il lavoro in background.

Quando usare WorkManager è una lezione Android Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Android Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Android Academy include 4 lezioni in totale.

Quando utilizzare WorkManager

WorkManager è l'API consigliata per il lavoro in background rimandabile e garantito su Android. Se un'attività deve essere eseguita prima o poi, anche dopo la chiusura dell'app o il riavvio del dispositivo, WorkManager è lo strumento adatto.

Rimandabile e garantito

Due parole chiave definiscono l'ambito di WorkManager:

  • Rimandabile: non è necessario che venga eseguito subito; può attendere il verificarsi delle condizioni appropriate
  • Garantito: verrà eseguito prima o poi, anche dopo la chiusura dell'app e il riavvio del dispositivo

Casi d'uso appropriati

WorkManager è adatto ad attività come:

  • Caricare log o dati analitici
  • Sincronizzare dati con un server
  • Eseguire periodicamente il backup dei contenuti
  • Comprimere o elaborare immagini

Tutte queste attività possono essere rimandate, ma non devono andare perdute.

Quando NON utilizzarlo

WorkManager non è lo strumento adatto per:

  • Attività immediate nell'app, associate alla schermata corrente: utilizzi una coroutine in viewModelScope
  • Allarmi a orario esatto: utilizzi AlarmManager
  • Attività lunghe avviate dall'utente che devono terminare subito: valuti l'utilizzo di un foreground service

Rispetta lo stato del sistema

WorkManager raggruppa e rimanda le attività per rispettare la modalità Doze, la batteria e i limiti delle attività in background. Lei descrive i requisiti; il sistema sceglie un momento efficiente per l'esecuzione, preservando la batteria.

I vincoli determinano l'esecuzione

Può associare vincoli come "solo su una rete non a consumo" o "solo durante la ricarica". WorkManager attende che siano soddisfatti prima di eseguire l'attività.

Gestisce la persistenza

WorkManager memorizza la coda di lavoro in un database interno. Se l'app viene terminata o il telefono viene riavviato, il lavoro pianificato viene ripristinato e continua a essere eseguito. Tutto questo avviene automaticamente.

Una tantum e periodico

WorkManager supporta due forme di lavoro:

  • OneTimeWorkRequest: viene eseguito una volta
  • PeriodicWorkRequest: viene ripetuto a intervalli regolari (minimo 15 minuti)

Nuovi tentativi integrati

Se il lavoro non riesce temporaneamente, restituire Result.retry() comunica a WorkManager di riprovare più tardi utilizzando una politica di backoff, evitando di dover implementare manualmente la logica dei nuovi tentativi.

Aggiungere la dipendenza

Aggiunga l'artefatto runtime di WorkManager, con il supporto KTX per le coroutine, al file Gradle del modulo.

dependencies {
    implementation("androidx.work:work-runtime-ktx:2.9.1")
}

Il modello mentale

Consideri WorkManager come una lista affidabile di attività da svolgere per i processi in background: aggiunge un lavoro con determinate condizioni e il sistema promette di completarlo in un momento ragionevole, anche se si verificano imprevisti.

Verifica rapida

Verifichi la sua comprensione di quando utilizzare WorkManager.

Riepilogo

Ha imparato lo scopo di WorkManager:

  • Esegue lavori in background rimandabili e garantiti
  • È ideale per sincronizzazioni, caricamenti e backup, ma non per attività immediate o a orario esatto
  • Mantiene il lavoro anche dopo la terminazione dell'app e il riavvio del dispositivo, rispetta la batteria ed effettua nuovi tentativi
  • Supporta lavori una tantum e periodici con vincoli

Prossimo argomento: creare un Worker.

Domande Frequenti

La lezione «Quando usare WorkManager» è gratuita?

Sì — il testo completo di «Quando usare WorkManager» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Android Academy, passa a CoddyKit PRO. Il corso Android Academy include 4 lezioni in totale.

Cosa imparerò in «Quando usare WorkManager»?

Scelga lo strumento corretto per il lavoro in background. Eserciti Android Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Android Academy?

Non è richiesta alcuna esperienza precedente. Android Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Quando usare WorkManager»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Android Academy?

Sì. Ogni lezione Android Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Quando usare WorkManager
  2. Creare un Worker
  3. Vincoli e pianificazione
  4. Lavori periodici e concatenati
← Torna a Android Academy