Sobes.tech
Junior — Middle

Ποιος είναι ο ρόλος του viewModelScope στη διαχείριση του κύκλου ζωής των κοροτίνων μέσα στο ViewModel;

sobes.tech AI

Απάντηση από AI

viewModelScope — είναι ένα CoroutineScope που σχετίζεται με τον κύκλο ζωής του ViewModel στο Android. Ακυρώνει αυτόματα όλες τις τρέχουσες coroutine όταν το ViewModel καταστρέφεται, αποτρέποντας διαρροές μνήμης και περιττές εργασίες.

Για παράδειγμα, αν ξεκινήσετε μια ασύγχρονη λειτουργία στο viewModelScope, θα ακυρωθεί κατά την καταστροφή του ViewModel, π.χ., κατά την περιστροφή της οθόνης ή το κλείσιμο της Activity.

class MyViewModel : ViewModel() {
    fun loadData() {
        viewModelScope.launch {
            val data = repository.getData()
            // ενημέρωση UI
        }
    }
}

Αυτό απλοποιεί τη διαχείριση των coroutine και καθιστά τον κώδικα πιο ασφαλή και καθαρό.