Junior — Middle
Τι είναι ο διαχειριστής εργασιών που χρησιμοποιείται στο ViewModelScope κατά την εργασία με κοροτίνες;
sobes.tech AI
Απάντηση από AI
Ο Dispatcher στο ViewModelScope ελέγχει σε ποιο νήμα ή ομάδα νημάτων εκτελούνται οι coroutine. Στο Android, αυτό είναι σημαντικό για τον διαχωρισμό εργασίας μεταξύ του κύριου νήματος (UI) και των φόντων νήματα.
Για παράδειγμα, το Dispatchers.Main χρησιμοποιείται για ενημέρωση του UI, και το Dispatchers.IO για λειτουργίες εισόδου/εξόδου.
Το ViewModelScope ακυρώνει αυτόματα τις coroutine κατά την καταστροφή του ViewModel, αποτρέποντας διαρροές μνήμης.
Παράδειγμα χρήσης:
viewModelScope.launch(Dispatchers.IO) {
val data = repository.loadData() // λειτουργία φόντου
withContext(Dispatchers.Main) {
_liveData.value = data // ενημέρωση UI
}
}