Sobes.tech
Junior — Middle

Jaka jest rola viewModelScope w zarządzaniu cyklem życia korutyn w ViewModel?

sobes.tech AI

Odpowiedź od AI

viewModelScope — to CoroutineScope powiązany z cyklem życia ViewModel w Android. Automatycznie anuluje wszystkie uruchomione w nim korutyny, gdy ViewModel jest niszczony, co zapobiega wyciekom pamięci i wykonywaniu niepotrzebnych zadań.

Na przykład, jeśli uruchomisz operację asynchroniczną w viewModelScope, zostanie ona anulowana przy niszczeniu ViewModel, na przykład podczas obracania ekranu lub zamknięcia Activity.

class MyViewModel : ViewModel() {
    fun loadData() {
        viewModelScope.launch {
            val data = repository.getData()
            // zaktualizuj UI
        }
    }
}

Ułatwia to zarządzanie korutynami i czyni kod bezpieczniejszym i czyściejszym.