Korzystanie z Androida: configChanges to dobra praktyka, jeśli wiesz, co robisz.
Zawsze należy sprawdzić, jak aplikacja zachowuje się po ponownym uruchomieniu przez system, aby zachować wygodę dla użytkownika, aby można było zachować pewien stan przez cały czas, ale nie wszystkie. ze zmianami konfiguracyjne, takie jak ten:
android:configChanges="locale|keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
Aplikacja będzie ponownie uruchomić raczej rzadko na nowych urządzeniach, które mają dużo pamięci. Jeśli zrestartuje się, nie będzie tak niespodziewany dla użytkownika, ponieważ użytkownik zwrócił uwagę na inne aplikacje i wrócił do aplikacji. Użytkownik nie musi być w tym samym stanie po ponownym uruchomieniu, jeśli zdarzy się to przez ręczne zabicie aplikacji lub ponowne uruchomienie aplikacji z powodu innych ciężkich zadań (gra) wykonywanych przez użytkownika, ważne jest tutaj doświadczenie użytkownika.
Jeśli potrzebujesz, aby odświeżyć listę tylko dla różnych układów na orientacje zmian lub trzeba ukryć niektóre wyświetlanie elementów można nazwać:
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
_list.reloadData();
_editorButton.visible(isPortrait());
}
(używam moich klas niestandardowych, ale o co chodzi)
zobacz: https://github.com/open-keychain/open-keychain/issues/257 –
Jednym z powodów jest to, że spowoduje to wyłączenie domyślnego zachowania Androida i naprawdę musisz zwrócić uwagę, aby zachować wszystkie ciągi w rękach niż. Lepiej więc dostosować kod do zasad ramowych, niż go zwalczać. Ale są sytuacje, w których jest to dobre i jedyne rozwiązanie, więc to nie wszystko "1 lub 0. –