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)