Sobes.tech
Junior — Middle

Akými metódami realizujete vykonávanie úloh na pozadí?

sobes.tech AI

Odpoveď od AI

V Androidu sa používajú niektoré hlavné metódy na vykonávanie úloh na pozadí:

  • AsyncTask (zastaralé, neodporúča sa pre nové projekty) — pre jednoduché krátke úlohy.
  • HandlerThread a Handler — na organizáciu pozadia vlákna s frontou správ.
  • ExecutorService — na správu vláknového bazéna.
  • WorkManager — moderný a odporúčaný spôsob pre odložené a garantované úlohy, ktoré by mali byť vykonané aj po reštarte zariadenia.
  • IntentService (zastaralé, nahradené WorkManagerom) — na vykonávanie úloh v pozadí v službe.

Príklad použitia WorkManagera pre úlohu na pozadí:

class UploadWorker(appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams) {
    override fun doWork(): Result {
        // Vykonanie úlohy na pozadí
        uploadData()
        return Result.success()
    }
}

// Spustenie úlohy
val uploadWorkRequest = OneTimeWorkRequestBuilder<UploadWorker>().build()
WorkManager.getInstance(context).enqueue(uploadWorkRequest)