Utilizziamo frammenti e non è necessario ripristinarli automaticamente quando viene ricreata l'attività. Ma Android ogni volta che viene chiamato Activity::onCreate(Bundle savedInstanceState)
->super.onCreate(savedInstanceState)
, ripristina i frammenti anche se usiamo setRetainInstance (false) per quei frammenti.Prevenire il recupero dei frammenti in Android
Inoltre, in quelli Fragments
Fragment.performCreateView()
viene chiamato direttamente senza passare attraverso Fragment::onAttach()
e così via. Inoltre, alcuni campi sono nulli all'interno ripristinati Fragment
...
Qualcuno sa come impedire a Android di ripristinare i frammenti?
P.S. Sappiamo che in caso di ricreare Activity per le modifiche di configurazione, potrebbe essere fatto aggiungendo per manifestare un ndroid:configChanges="orientation|screenSize|screenLayout
. Ma che dire dell'attività di ricreazione in caso di pulizia automatica della memoria?
Semplice ma così efficace. Questo mi ha davvero salvato il culo con un cattivo design attuale (1 Activity App + 1 Fragment per screen). – momo
Se il frammento ha qualche interfaccia utente, non pensi che sia una brutta esperienza utente. –
Funziona come un incantesimo, ma spero davvero che ci sia un modo più pulito per fare questo ... – jenzz