Sobes.tech
Junior — Middle

Ako určiť rozsah viditeľnosti korutín v programovaní?

sobes.tech AI

Odpoveď od AI

Oblasť viditeľnosti korutiny (Coroutine Scope) určuje životný cyklus a kontext, v ktorom sa korutina vykonáva. Na Androide sa zvyčajne používajú rôzne scope na správu životnosti korutín a na predchádzanie únikom pamäte.

Napríklad:

  • GlobalScope — korutiny žijú tak dlho, ako beží aplikácia, neodporúča sa pre UI úlohy.
  • CoroutineScope, spojený s životným cyklom komponentu (napríklad lifecycleScope v Activity alebo Fragment) — korutiny sa automaticky zrušia pri zničení komponentu.

Príklad použitia lifecycleScope v Activity:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        lifecycleScope.launch {
            // Kód korutiny, ktorá bude zrušená pri zničení Activity
            delay(1000)
            println("Korutina ukončená")
        }
    }
}

Takto je oblasť viditeľnosti korutiny určená scope, v ktorom sa spúšťa, a tento scope riadi jej životný cyklus.