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-ների կառավարումը պարզ է և կոդը ավելի անվտանգ և մաքուր։