Sobes.tech
Junior — Middle

Coroutine'lerle çalışırken ViewModelScope'da kullanılan görev yöneticisi nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

ViewModelScope içindeki Dispatcher, korutinlerin hangi thread veya thread havuzunda çalıştırılacağını kontrol eder. Android'de bu, ana thread (UI) ile arka plan threadleri arasında işi ayırmak için önemlidir.

Örneğin, Dispatchers.Main UI'yi güncellemek için kullanılırken, Dispatchers.IO giriş/çıkış işlemleri için kullanılır.

ViewModelScope, ViewModel yok edildiğinde otomatik olarak korutinleri iptal eder ve böylece bellek sızıntılarını önler.

Kullanım örneği:

viewModelScope.launch(Dispatchers.IO) {
    val data = repository.loadData() // Arka plan işlemi
    withContext(Dispatchers.Main) {
        _liveData.value = data // UI güncellemesi
    }
}