Używamy fragmentów i nie musimy ich automatycznie odzyskiwać po odtworzeniu działania. Ale Android za każdym razem, gdy wywoływana jest Activity::onCreate(Bundle savedInstanceState)
->super.onCreate(savedInstanceState)
, odtwarza Fragmenty, nawet jeśli użyjemy setRetainInstance (false) dla tych Fragmentów.Zapobieganie odzyskiwaniu fragmentów w systemie Android
Ponadto w tych Fragments
Fragment.performCreateView()
jest wywoływana bezpośrednio bez przechodzenia przez Fragment::onAttach()
i tak dalej. Ponadto niektóre z pól mają wartość zerową w środku przywróconą Fragment
...
Czy ktoś wie, w jaki sposób zapobiec odrestorowaniu fragmentów przez system Android?
P.S. Wiemy, że w przypadku odtwarzania aktywności w celu zmiany konfiguracji można to zrobić, dodając do manifestu ndroid:configChanges="orientation|screenSize|screenLayout
. Ale co z odtwarzaniem aktywności w przypadku automatycznego czyszczenia pamięci?
Proste, ale tak skuteczne. To naprawdę uratowało moją dupę przy obecnym złym projekcie (1 aplikacja aktywności + 1 fragment na ekranie). – momo
Jeśli fragment ma jakiś interfejs użytkownika, nie uważasz go za zły. –
Działa to jak urok, ale mam nadzieję, że istnieje czystszy sposób robienia tego ... – jenzz