Junior — Middle
Mi az a feladatkezelő, amit a ViewModelScope-ban használnak a korutinokkal való munka során?
sobes.tech MI
Válasz az MI-től
A ViewModelScope Dispatcher-e szabályozza, hogy a coroutine-k melyik szálon vagy szálmedencében futnak. Androidon ez fontos a munka megosztásához a fő szál (UI) és a háttér szálak között.
Például, a Dispatchers.Main az UI frissítésére szolgál, míg a Dispatchers.IO a bemenet/kimenet műveletekhez.
A ViewModelScope automatikusan megszakítja a coroutine-kat a ViewModel megsemmisítésekor, megelőzve a memória szivárgásokat.
Használati példa:
viewModelScope.launch(Dispatchers.IO) {
val data = repository.loadData() // háttér művelet
withContext(Dispatchers.Main) {
_liveData.value = data // UI frissítés
}
}