Sobes.tech
Junior — Middle

Ի՞նչ է ViewModelScope-ում օգտագործվող առաջադրանքի կառավարիչը, երբ աշխատում եք կորուտինների հետ։

sobes.tech AI

Պատասխան AI-ից

ViewModelScope-ի Dispatcher-ը վերահսկում է, թե որ թելում կամ թելերի խմբում են կատարվում կորուտինները: Android-ում սա կարևոր է հիմնական թել (UI) և ֆոնային թելերի միջև աշխատանքը բաժանելու համար:

Օրինակ, Dispatchers.Main-ը օգտագործվում է UI-ն թարմացնելու համար, իսկ Dispatchers.IO-ը՝ մուտք/ելք գործողությունների համար:

ViewModelScope-ը ավտոմատ կերպով չեղյալ է հայտարարում կորուտինները ViewModel-ի ոչնչացման ժամանակ, կանխելով հիշողության լիքները:

Օգտագործման օրինակ՝

viewModelScope.launch(Dispatchers.IO) {
    val data = repository.loadData() // ֆոնային գործողություն
    withContext(Dispatchers.Main) {
        _liveData.value = data // UI թարմացում
    }
}