время жизни ViewModels не заканчивается при уничтожении активности

Согласно документам, модель представления остается в памяти до тех пор, пока не завершится действие или не будет отсоединен фрагмент. Они также приводят пример с рисунком, показывающим, что модель просмотра сохраняется при изменении конфигурации, но уничтожается после вызова метода finish().

Но при изменении конфигурации есть метод ondestroy(). Как метод onclear() модели представления не вызывает в этом методе изменения конфигурации ondestroy(), но может вызывать ondestroy(), что достигается путем обратного нажатия.

Пожалуйста, помогите мне понять эту концепцию. Документы: https://developer.android.com/topic/libraries/architecture/viewmodel#lifecycle


person puskal Khadka    schedule 29.10.2020    source источник
comment
Но из ссылки видно, что нужно вызывать finsh. Что ты не понимаешь?   -  person Selvin    schedule 29.10.2020
comment
Он ждет некоторое время, и если после воссоздания активности onDestroy (если onCreate вызывается после onDestroy), модель представления не будет вызывать onClear, иначе она вызовет onClear модели представления.   -  person ygngy    schedule 29.10.2020
comment
Метод финиша @Selvin() не работает напрямую. В конечном итоге он вызовет onPause(), onStop() и затем, наконец, onDestroy   -  person puskal Khadka    schedule 30.10.2020


Ответы (1)


Наконец, после многочасового поиска в Интернете и просмотра фактического кода модели представления, я узнаю настоящую тайну выживания модели представления при изменении конфигурации.

вы также можете сослаться на эту ссылку. у него есть отличное объяснение. https://proandroiddev.com/the-curious-case-of-survival-of-viewmodel-afe074992fbc

person puskal Khadka    schedule 30.10.2020