Junior — Middle
Explain the principle of functioning of viewModelScope in Android architecture
sobes.tech AI
Answer from AI
viewModelScope is a CoroutineScope associated with the lifecycle of a ViewModel in Android. It allows launching coroutines that are automatically canceled when the ViewModel is destroyed, preventing memory leaks and unnecessary task execution after the UI component is destroyed.
For example, if you load data from the network in a ViewModel using viewModelScope.launch { ... }, all launched coroutines will be automatically canceled when the ViewModel is destroyed.
class MyViewModel : ViewModel() {
fun loadData() {
viewModelScope.launch {
val data = repository.getData()
// update UI via LiveData or StateFlow
}
}
}
Thus, viewModelScope simplifies managing asynchronous tasks and ensures lifecycle safety.