Sobes.tech
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)