Junior — Middle
What is the role of viewModelScope in managing the lifecycle of coroutines within ViewModel?
sobes.tech AI
Answer from AI
viewModelScope is a CoroutineScope associated with the lifecycle of a ViewModel in Android. It automatically cancels all coroutines launched within it when the ViewModel is destroyed, preventing memory leaks and unnecessary task execution.
For example, if you launch an asynchronous operation in viewModelScope, it will be canceled when the ViewModel is destroyed, such as during a screen rotation or Activity closure.
class MyViewModel : ViewModel() {
fun loadData() {
viewModelScope.launch {
val data = repository.getData()
// update UI
}
}
}
This simplifies coroutine management and makes the code safer and cleaner.