Questa pagina illustra le best practice per interagire con la mappa di navigazione nella tua app.
Utilizza SupportNavigationFragment
anziché NavigationView
, se possibile
SupportNavigationFragment
è un wrapper per la gestione semplificata dei
callback del ciclo di vita di NavigationView
, in modo che tu non debba gestirli
direttamente. Questo metodo è meno soggetto a errori ed è il modo preferito per
utilizzare la navigazione nella tua app. Quando utilizzi SupportNavigationFragment
, assicurati di non
richiamare gli eventi del ciclo di vita di NavigationView
.
Se utilizzi NavigationView
, utilizza un ordine rigoroso quando richiami i metodi del ciclo di vita
NavigationView
ospita la mappa di navigazione e segue da vicino gli eventi del ciclo di vita come attività e frammenti Android, intraprendendo azioni specifiche quando vengono richiamati questi eventi del ciclo di vita. NavigationView
esegue più inizializzazioni
su NavigationView#onCreate
e NavigationView#onStart
e pulizie su
NavigationView#onStop
e NavigationView#onDestroy
, nonché quando vengono elaborati altri
eventi del ciclo di vita.
I metodi del ciclo di vita NavigationView
hanno lo stesso significato delle attività o dei frammenti Android. Ad esempio, onCreate()
di NavigationView
si traduce approssimativamente in e deve essere richiamato dai callback del ciclo di vita dell'attività o del fragment Android. Poiché i callback del ciclo di vita NavigationView
si basano
sugli stessi callback del ciclo di vita di Android e vengono richiamati nello stesso ordine, è necessario un ordine
rigoroso di questi metodi NavigationView. In caso contrario, potresti
riscontrare perdite
di memoria, errori
dell'interfaccia utente, mancato aggiornamento della posizione e altri problemi.
Per ulteriori informazioni sul ciclo di vita dell'attività Android, consulta la sezione Concetti relativi al ciclo di vita dell'attività nella documentazione per gli sviluppatori Android.
La tabella seguente mostra quando devono essere richiamati altri metodi del ciclo di vita, dopo metodi del ciclo di vita specifici:
Metodo del ciclo di vita | Richiamato in quale punto del ciclo di vita dell'attività | Richiamato dopo quale metodo del ciclo di vita |
---|---|---|
onConfigurationChanged()
|
Richiamato quando la UI è in primo piano e la configurazione cambia. | Sempre dopo il giorno onStart()
|
onTrimMemory()
|
Richiamato quando un'attività è in background. | Sempre dopo il giorno onPause()
|
onSaveInstance()
|
Richiamato prima che un'attività venga eliminata. | Sempre dopo onStop()
|
Non chiamare più volte questi metodi del ciclo di vita senza chiamare prima il metodo di chiusura corrispondente. Inoltre, tieni presente che se alcuni di
questi callback del ciclo di vita di Android vengono gestiti dall'app stessa e l'NavigationView
viene aggiunto al frammento dopo la creazione o l'avvio, l'app
deve chiamare i metodi specifici nell'ordine corretto per
inizializzare correttamente l'SDK Navigation.
Per ulteriori indicazioni sull'utilizzo di questi metodi, consulta l'app demo dell'SDK Navigation.
Se utilizzi NavigationView
, richiama gli eventi del ciclo di vita dall'attività o dal fragment, non da entrambi.
Per mantenere l'ordine rigoroso dei metodi del ciclo di vita, richiama questi eventi dai callback del ciclo di vita dell'attività o del frammento, che li ricevono in ordine. Questo approccio garantisce che le app non debbano coordinarsi tra fragment e attività e causare chiamate duplicate.