Junior — Middle
Kādus metodes izmantojat uzdevumu izpildei fonā?
sobes.tech AI
Atbilde no AI
Androidā tiek izmantotas vairākas galvenās metodes uzdevumu veikšanai fonā:
- AsyncTask (novecojis, neiesaka jaunajiem projektiem) — vienkāršiem un īsiem uzdevumiem.
- HandlerThread un Handler — fona plūsmas organizēšanai ar ziņojumu rindu.
- ExecutorService — pavedienu baseina pārvaldībai.
- WorkManager — mūsdienīgs un ieteicams veids aizkavētām un garantētām uzdevumiem, kas jāizpilda pat pēc ierīces restartēšanas.
- IntentService (novecojis, aizstāts ar WorkManager) — fonā izpildīt uzdevumus servisā.
Piemērs, kā izmantot WorkManager fonā esošam uzdevumam:
class UploadWorker(appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams) {
override fun doWork(): Result {
// Veikt fonu uzdevumu
uploadData()
return Result.success()
}
}
// Uzdevuma uzsākšana
val uploadWorkRequest = OneTimeWorkRequestBuilder<UploadWorker>().build()
WorkManager.getInstance(context).enqueue(uploadWorkRequest)