Sobes.tech
Junior — Middle

Ինչ է viewModelScope-ի դերը ViewModel-ի ներսում coroutine-ների կյանքի ցիկլը կառավարելիս?

sobes.tech AI

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

viewModelScope — դա Android-ում ViewModel-ի կյանքի ցիկլին կապված CoroutineScope է: Այն ավտոմատ կերպով չեղյալ է համարում դրա մեջ աշխատող բոլոր korutin-ները, երբ ViewModel-ը ոչնչացվում է, ինչը կանխում է հիշողության արտահոսքերը և անպետք առաջադրանքները:

Օրինակ, եթե դուք սկսում եք асինխրոն գործողություն viewModelScope-ում, այն չեղյալ է հայտարարվում ViewModel-ի ոչնչացման ժամանակ, օրինակ՝ էկրանն ուղղելու կամ Activity-ն փակելու ժամանակ:

class MyViewModel : ViewModel() {
    fun loadData() {
        viewModelScope.launch {
            val data = repository.getData()
            // թարմացնել UI-ն
        }
    }
}

Այսպիսով, korutin-ների կառավարումը պարզ է և կոդը ավելի անվտանգ և մաքուր։