Junior — Middle
Mi a szerepe a viewModelScope-nak a coroutine-ok életciklusának kezelésében a ViewModel-on belül?
sobes.tech MI
Válasz az MI-től
viewModelScope — ez egy CoroutineScope, amely az Androidban a ViewModel életciklusához van kötve. Automatikusan megszakítja az összes futó korutinját, amikor a ViewModel megsemmisül, ezáltal megelőzve a memória szivárgásokat és a szükségtelen feladatokat.
Például, ha egy aszinkron műveletet indítasz a viewModelScope-ban, az megszakításra kerül a ViewModel megsemmisülésekor, például képernyőforgatás vagy Activity bezárása esetén.
class MyViewModel : ViewModel() {
fun loadData() {
viewModelScope.launch {
val data = repository.getData()
// frissítse a UI-t
}
}
}
Ez megkönnyíti a korutinok kezelését, és biztonságosabbá és tisztábbá teszi a kódot.