Использование android:configChanges — хорошая практика, если вы знаете, что делаете.
Просто всегда проверяйте, как ваше приложение ведет себя, когда оно перезапускается системой, чтобы оставаться удобным для пользователя, поэтому некоторое состояние должно сохраняться все время, но не все. С такими изменениями конфигурации:
android:configChanges="locale|keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
Ваше приложение будет перезапускаться довольно редко на новых устройствах с большим объемом памяти. Если он перезапустится, это не так уж неожиданно для пользователя, так как пользователь обратил внимание на что-то другое и вернулся в приложение. Пользователь не должен находиться в точно таком же состоянии после перезапуска, если это происходит путем ручного уничтожения приложения или перезапуска приложения из-за некоторых других тяжелых задач (игра в игру), которые выполняет пользователь, здесь важен пользовательский опыт.
Если вам нужно обновить список только для разных макетов для изменения ориентации или вам нужно скрыть некоторые элементы представления, вы можете вызвать:
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
_list.reloadData();
_editorButton.visible(isPortrait());
}
(Я использую свои собственные классы, но вы поняли)
person
Renetik
schedule
08.12.2017