Я разработал приложение для Android, которое будет отображаться только в портретном режиме (android:screenOrientation="sensorPortrait"). Он работает нормально, за исключением одного случая:
==> первый «кадр» моего приложения отображается в ландшафтном режиме, а затем он поворачивается в портретный режим, что означает, что вызывается onDestroy(), и поэтому мои введенные данные теряются.
Планшет таб S2 8", с Android 7.0
Почему мое приложение сначала отображается в ландшафтном режиме? Есть ли способ избежать такого поведения (я бы хотел избежать управления onSaveInstanceState()/onRestoreInstanceState() только из-за этого случая)?
Даже если этот комментарий не отвечает прямо на мой вопрос, на самом деле это правильный ответ. Я новичок в разработке Android и не знал о ViewModel. Пришлось внедрить, теперь работает нормально. Спасибо
Решение заключалось в реализации ViewModel.
Есть много других изменений конфигурации помимо ориентации. Пожалуйста, используйте
ViewModel
,onSaveInstanceState()
или другие способы сохранения ваших данных при изменении конфигурации.