Junior — Middle
Πώς να ξεκινήσετε την εκτέλεση μιας coroutine μέσα σε ένα ViewModel;
sobes.tech AI
Απάντηση από AI
Στο Android, για να ξεκινήσετε μια coroutine στο ViewModel, συνήθως χρησιμοποιείτε το viewModelScope, το οποίο ακυρώνει αυτόματα τις coroutines κατά την καταστροφή του ViewModel.
Παράδειγμα εκκίνησης μιας coroutine:
class MyViewModel : ViewModel() {
fun loadData() {
viewModelScope.launch {
// Εδώ μπορείτε να εκτελέσετε ασύγχρονες λειτουργίες
val data = repository.getData()
// Ενημερώστε το LiveData ή την κατάσταση
}
}
}
Το viewModelScope είναι ένα CoroutineScope που σχετίζεται με τον κύκλο ζωής του ViewModel, βοηθώντας στην αποφυγή διαρροών μνήμης και λανθασμένης συμπεριφοράς κατά την καταστροφή του συστατικού.