Best practice per l'interazione con la mappa di navigazione

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.