Junior — Middle
Can you explain the stages of the ViewModel component lifecycle in application architecture?
sobes.tech AI
Answer from AI
The lifecycle of a ViewModel in Android is closely related to the lifecycle of the UI component (Activity or Fragment), but the ViewModel itself lives longer and is preserved during UI re-creation.
Main stages:
- Creation: The ViewModel is created when first accessed from an Activity or Fragment via ViewModelProvider.
- Usage: The ViewModel stores and manages UI data, handles business logic, and ensures state preservation during screen rotations.
- Clearing: When the associated UI component is finally destroyed (for example, when an Activity finishes), the
onCleared()method in the ViewModel is called, where resources can be released.
Example of creating a ViewModel:
class MyViewModel : ViewModel() {
override fun onCleared() {
super.onCleared()
// Cleanup resources
}
}
// In Activity or Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
Thus, the ViewModel helps to preserve state and logic independently of UI changes.