Junior — Middle
Jakimi metodami realizujesz wykonywanie zadań w tle?
sobes.tech AI
Odpowiedź od AI
W Androidzie do wykonywania zadań w tle używa się kilku głównych metod:
- AsyncTask (przestarzałe, niezalecane do nowych projektów) — do prostych, krótkich zadań.
- HandlerThread i Handler — do organizacji wątku w tle z kolejką wiadomości.
- ExecutorService — do zarządzania pulą wątków.
- WorkManager — nowoczesny i zalecany sposób na zadania odłożone i gwarantowane, które mają być wykonywane nawet po restarcie urządzenia.
- IntentService (przestarzałe, zastąpione przez WorkManager) — do wykonywania zadań w serwisie w tle.
Przykład użycia WorkManager do zadania w tle:
class UploadWorker(appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams) {
override fun doWork(): Result {
// Wykonanie zadania w tle
uploadData()
return Result.success()
}
}
// Uruchomienie zadania
val uploadWorkRequest = OneTimeWorkRequestBuilder<UploadWorker>().build()
WorkManager.getInstance(context).enqueue(uploadWorkRequest)