Использование 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());
}
(я использую свои собственные классы, но вы получите точку)
см: https://github.com/open-keychain/open-keychain/issues/257 –
Одна из причин заключается в том, что вы отключите поведение по умолчанию Android, и вам действительно нужно обратить внимание на то, чтобы сохранить все строки в руках, чем. Итак, лучше принять свой код в правилах фреймворка, чем бороться с ним. Но есть ситуации, когда это хорошо и только решение, поэтому это не все «1 или 0. –