Sobes.tech
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 помага да се управлява състоянието при промени в конфигурацията.