Questa pagina illustra le best practice per interagire con la mappa di navigazione nella tua app.
Se possibile, utilizza SupportNavigationFragment
anziché NavigationView
SupportNavigationFragment
è un wrapper per gestire facilmente i callback del ciclo di vita di NavigationView
, quindi non devi gestire direttamente questi callback. Questo metodo è meno soggetto a errori ed è il modo migliore
usa il navigatore nella tua app. Quando usi SupportNavigationFragment
, assicurati di non
per richiamare NavigationView
eventi del ciclo di vita.
Se utilizzi NavigationView
, utilizza un ordine rigoroso quando richiami i metodi di ciclo di vita
NavigationView
ospita la mappa di navigazione e segue con attenzione il ciclo di vita
di eventi come attività e frammenti Android, intraprendendo azioni specifiche quando questi
vengono richiamati
gli eventi del ciclo di vita. NavigationView
esegue più inizializzazioni su NavigationView#onCreate
e NavigationView#onStart
e operazioni di pulizia su NavigationView#onStop
e NavigationView#onDestroy
, nonché quando vengono elaborati altri eventi di ciclo di vita.
I metodi di ciclo di vita di NavigationView
hanno lo stesso significato di quelli per le attività o i frammenti Android. Ad esempio, onCreate()
di NavigationView
approssimativamente
viene tradotto e devono essere richiamati dai callback del ciclo di vita
un'attività o un frammento. Poiché i callback del ciclo di vita NavigationView
si basano
e richiamati nello stesso ordine dei callback del ciclo di vita di Android,
l'ordine di questi metodi NavigationView è obbligatorio. In caso contrario, potresti riscontrare perdite di memoria, errori dell'interfaccia utente, mancata aggiornamento della posizione e altri problemi.
Per ulteriori informazioni sul ciclo di vita delle attività Android, consulta la sezione Concetti del ciclo di vita delle attività della 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 specificati:
Metodo del ciclo di vita | Chiamato in quale punto del ciclo di vita dell'attività | Chiamato dopo quale metodo del ciclo di vita |
---|---|---|
onConfigurationChanged()
|
Viene invocato quando l'interfaccia utente è in primo piano e la configurazione cambia. | Sempre dopo le ore onStart()
|
onTrimMemory()
|
Viene invocato quando un'attività è in background. | Sempre dopo le ore onPause()
|
onSaveInstance()
|
Viene invocato prima dell'eliminazione di un'attività. | Sempre dopo il giorno onStop()
|
Non chiamare questi metodi di ciclo di vita più volte senza prima chiamare il metodo di chiusura corrispondente. Inoltre, tieni presente che se alcuni
questi callback del ciclo di vita di Android sono gestiti dall'app stessa
NavigationView
viene aggiunto al frammento dopo la creazione o l'avvio, l'app
devono chiamare i metodi specifici nell'ordine corretto per
inizializzare correttamente l'SDK di navigazione.
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 frammento, non da entrambi
Per mantenere l'ordine rigoroso dei metodi del ciclo di vita, richiama questi eventi da i callback del ciclo di vita dell'attività o dei frammenti, che ricevono questi eventi. in ordine. Questo approccio garantisce che le app non debbano coordinarsi tra frammenti e attività e causare chiamate duplicate.