Sobes.tech
Junior — Middle

Koje metode koristite za izvršavanje zadataka u pozadini?

sobes.tech АИ

Одговор од АИ

U Androidu, koristi se nekoliko osnovnih metoda za izvršavanje zadataka u pozadini:

  • AsyncTask (zastarelo, ne preporučuje se za nove projekte) — za jednostavne kratke zadatke.
  • HandlerThread i Handler — za organizaciju pozadinskog niti sa redom poruka.
  • ExecutorService — za upravljanje bazenom niti.
  • WorkManager — savremeni i preporučeni način za odložene i garantovane zadatke, koji treba da se izvrše čak i nakon ponovnog pokretanja uređaja.
  • IntentService (zastarelo, zamenjeno WorkManager-om) — za izvršavanje zadataka u pozadinskoj usluzi.

Primer korišćenja WorkManager-a za pozadinski zadatak:

class UploadWorker(appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams) {
    override fun doWork(): Result {
        // Izvršavanje pozadinskog zadatka
        uploadData()
        return Result.success()
    }
}

// Pokretanje zadatka
val uploadWorkRequest = OneTimeWorkRequestBuilder<UploadWorker>().build()
WorkManager.getInstance(context).enqueue(uploadWorkRequest)