Sobes.tech
Junior — Middle

Ce metode poți folosi pentru a implementa execuția asincronă a sarcinilor într-o aplicație?

sobes.tech AI

Răspuns de la AI

Pentru executarea asincronă a sarcinilor pe Android, se pot folosi mai multe abordări:

  • AsyncTask (învechit, dar încă întâlnit uneori)
  • Handler și HandlerThread pentru gestionarea firelor și cozii de mesaje
  • Thread / Runnable — crearea și pornirea manuală a firelor noi
  • ExecutorService — pool de fire pentru gestionarea sarcinilor
  • Coroutines (Kotlin) — metodă modernă și convenabilă pentru programarea asincronă
  • RxJava — programare reactivă cu suport pentru asincronie

Exemplu cu Kotlin Coroutines:

import kotlinx.coroutines.*

fun fetchData() {
    GlobalScope.launch(Dispatchers.IO) {
        val data = networkRequest() // se execută în fir de fundal
        withContext(Dispatchers.Main) {
            updateUI(data) // actualizare UI în firul principal
        }
    }
}