Junior — Middle
Jaký je účel použití CoroutineScope v Kotlinu a jakou roli hraje při správě korutin?
sobes.tech AI
Odpověď od AI
CoroutineScope v Kotlinu slouží k řízení životního cyklu korutin. Určuje oblast, ve které jsou korutiny spuštěny, a umožňuje kontrolu jejich zrušení a ukončení.
Hlavní úkoly CoroutineScope:
- Skupinování korutin: všechny korutiny spuštěné v jednom scope jsou navzájem propojené.
- Řízení životního cyklu: při zrušení scope jsou všechny v něm obsažené korutiny automaticky zrušeny, což pomáhá předcházet únikům paměti a nekontrolovanému provádění.
Příklad použití:
val scope = CoroutineScope(Dispatchers.Main)
scope.launch {
// kód korutiny
}
// Později lze zrušit všechny korutiny v scope
scope.cancel()
V Androidu se často používají lifecycleScope nebo viewModelScope, které jsou automaticky zrušeny při zničení příslušné komponenty (Activity, ViewModel).