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)