Cette page décrit les bonnes pratiques à suivre pour interagir avec la carte de navigation dans votre application.
Utilisez SupportNavigationFragment
à la place de NavigationView
, dans la mesure du possible.
SupportNavigationFragment
est un wrapper pour faciliter la gestion du
des rappels de cycle de vie NavigationView
, qui vous évitent d'avoir à les gérer ;
les rappels automatiques. Cette méthode est moins sujette aux erreurs et constitue la méthode privilégiée
utiliser Navigation dans votre application. Lorsque vous utilisez SupportNavigationFragment
, veillez à ne pas
pour appeler des événements de cycle de vie NavigationView
.
Si vous utilisez NavigationView
, utilisez un ordre strict lors de l'appel des méthodes de cycle de vie.
NavigationView
héberge la carte de navigation et suit de près les événements de cycle de vie en tant qu'activités et fragments Android, en effectuant des actions spécifiques lorsque ces événements de cycle de vie sont appelés. NavigationView
exécute plusieurs initialisations sur NavigationView#onCreate
et NavigationView#onStart
, ainsi que des nettoyages sur NavigationView#onStop
et NavigationView#onDestroy
, ainsi que lorsque d'autres événements de cycle de vie sont traités.
Les méthodes de cycle de vie NavigationView
ont la même signification que pour Android
des activités ou des fragments. Par exemple, onCreate()
de NavigationView
se traduit approximativement par des rappels de cycle de vie de l'activité ou du fragment Android, et doit être appelé par eux. Étant donné que les rappels de cycle de vie d'une NavigationView
sont basés
sont activés et appelés dans le même ordre que les rappels de cycle de vie Android,
l'ordre de ces méthodes NavigationView est obligatoire. Sinon, vous pouvez
expérience mémoire
leaks, l'UI
des erreurs, une position non mise à jour et d'autres problèmes.
Pour en savoir plus sur le cycle de vie des activités Android, consultez la section Concepts de cycle de vie des activités dans la documentation destinée aux développeurs Android.
Le tableau suivant indique quand d'autres méthodes de cycle de vie doivent être appelées, après les méthodes de cycle de vie spécifiées :
Méthode du cycle de vie | Invoqué où dans le cycle de vie de l'activité | Invoquée après quelle méthode de cycle de vie |
---|---|---|
onConfigurationChanged()
|
Invoquée lorsque l'interface utilisateur est exécutée au premier plan et que la configuration change. | Toujours après onStart()
|
onTrimMemory()
|
Appelée lorsqu'une activité est exécutée en arrière-plan. | Toujours après onPause()
|
onSaveInstance()
|
Appelé avant la destruction d'une activité. | Toujours après le onStop()
|
N'appelez pas ces méthodes de cycle de vie plusieurs fois sans appeler d'abord la méthode de fermeture correspondante. De plus, gardez à l'esprit que si certaines
ces rappels de cycle de vie Android sont gérés par l'application elle-même.
NavigationView
est ajouté au fragment après sa création ou son démarrage, l'application
doivent appeler les méthodes spécifiques elles-mêmes dans le bon ordre
pour initialiser correctement le SDK Navigation.
Pour en savoir plus sur l'utilisation de ces méthodes, consultez la démonstration du SDK Navigation l'application Nest.
Si vous utilisez NavigationView
, appelez les événements de cycle de vie à partir de l'activité ou du fragment, mais pas les deux.
Pour conserver l'ordre strict des méthodes de cycle de vie, appelez ces événements depuis les rappels de cycle de vie de l'activité ou du fragment, qui reçoivent ces événements. dans l'ordre. Cette approche garantit que les applications n'ont pas besoin de se coordonner entre les fragments et les activités, et qu'elles ne provoquent pas d'appels en double.