Junior — Middle
Обработва ли ViewModel в Android приложение случаи на промяна на конфигурацията на устройството?
sobes.tech AI
Отговор от AI
Да, ViewModel в Android е създаден специално за да оцелее промените в конфигурацията, като завъртане на екрана или смяна на езика.
Когато се случи промяна в конфигурацията, активността или фрагментът се унищожават и създават отново, но ViewModel остава запазен и предоставя данни на новия екземпляр на UI компонента. Това помага да се избегне загубата на състояние и повторното зареждане на данни.
Пример за използване на ViewModel:
class MyViewModel : ViewModel() {
val data = MutableLiveData<String>()
}
// В Activity
val model = ViewModelProvider(this).get(MyViewModel::class.java)
model.data.observe(this) { value ->
// актуализиране на UI
}
По този начин, ViewModel помага да се управлява състоянието при промени в конфигурацията.