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 και καθιστά τον κώδικα πιο ασφαλή και καθαρό.