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
lifecycleScopev 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.