Sobes.tech
Junior — Middle

Kokios yra apribojimai naudojant srautus Dispatchers.Main Coroutines kontekste?

sobes.tech AI

Atsakymas iš AI

Kotlin Coroutines Dispatchers.Main skirtas pradėti korutinas Android pagrindiniame (UI) sraute.

Apribojimai:

  • Vykdyti tik pagrindiniame sraute — nenaudokite Dispatchers.Main foninėms ar ilgalaikėms operacijoms, kad neužblokuotumėte UI.
  • Prieinamumas priklauso nuo platformos — Android Dispatchers.Main veikia su pagrindinio srauto Looperiu, kitose aplinkose gali reikėti papildomos konfigūracijos.
  • Netinka CPU ar IO intensyvioms užduotims — joms geriau naudoti Dispatchers.IO arba Dispatchers.Default.

Naudojimo pavyzdys:

CoroutineScope(Dispatchers.Main).launch {
    // UI atnaujinimas
    textView.text = "Įkeliama..."
    val data = withContext(Dispatchers.IO) {
        // Ilgalaikė operacija
        fetchData()
    }
    textView.text = data
}