Auf dieser Seite werden Best Practices für die Interaktion mit der Navigationskarte in für Ihre App.
Nach Möglichkeit SupportNavigationFragment
statt NavigationView
verwenden
SupportNavigationFragment
ist ein Wrapper, der die Lebenszyklus-Callbacks von NavigationView
verwaltet, sodass Sie diese Callbacks nicht selbst verwalten müssen. Diese Methode ist weniger fehleranfällig und die bevorzugte Methode, Navigation in Ihrer App zu verwenden. Wenn Sie SupportNavigationFragment
verwenden, dürfen Sie keine NavigationView
-Lebenszyklusereignisse aufrufen.
Bei Verwendung von NavigationView
beim Aufrufen von Lebenszyklusmethoden eine strenge Reihenfolge einhalten
NavigationView
hostet die Navigationskarte und verfolgt den Lebenszyklus genau.
als Android-Aktivitäten und -Fragmente, die bestimmte Aktionen ausführen,
Lifecycle-Events aufgerufen werden. NavigationView
führt mehrere Initialisierungen aus
auf NavigationView#onCreate
und NavigationView#onStart
sowie Bereinigungen auf
NavigationView#onStop
und NavigationView#onDestroy
sowie wenn andere
Lebenszyklus-Ereignisse verarbeitet werden.
NavigationView
Lebenszyklusmethoden haben dieselbe Bedeutung wie für Android
Aktivitäten oder Fragmente. Beispielsweise entspricht onCreate()
von NavigationView
ungefähr und sollte durch Lebenszyklus-Callbacks von der Android-Aktivität oder dem Android-Fragment aufgerufen werden. Da die Lebenszyklus-Callbacks von NavigationView
auf den Android-Lebenszyklus-Callbacks basieren und in derselben Reihenfolge aufgerufen werden, ist eine strenge Reihenfolge dieser NavigationView-Methoden erforderlich. Andernfalls kann es zu Speicherlecks, UI-Fehlern, nicht aktualisierten Standorten und anderen Problemen kommen.
Weitere Informationen zum Lebenszyklus von Android-Aktivitäten finden Sie in der Konzepte des Aktivitätslebenszyklus in der Dokumentation für Android-Entwickler.
Die folgende Tabelle zeigt, wann andere Lebenszyklusmethoden aufgerufen werden sollten, nachdem angegebene Lebenszyklusmethoden:
Lebenszyklusmethode | An welcher Stelle im Aktivitätslebenszyklus aufgerufen | Wird aufgerufen nach welcher Lebenszyklusmethode |
---|---|---|
onConfigurationChanged()
|
Wird aufgerufen, wenn sich die Benutzeroberfläche im Vordergrund befindet und die Konfiguration geändert wird. | Immer nach dem onStart()
|
onTrimMemory()
|
Wird aufgerufen, wenn eine Aktivität im Hintergrund ausgeführt wird. | Immer nach onPause()
|
onSaveInstance()
|
Wird aufgerufen, bevor eine Aktivität gelöscht wird. | Immer nach onStop()
|
Rufen Sie diese Lebenszyklusmethoden nicht mehrmals auf, ohne zuerst die entsprechende Schließmethode aufzurufen. Wenn einige der
Diese Android-Lebenszyklus-Callbacks werden von der App selbst verwaltet.
NavigationView
wird dem Fragment nach dem Erstellen oder Starten der Anwendung hinzugefügt.
die spezifischen Methoden selbst
in der richtigen Reihenfolge aufrufen,
Initialisieren Sie das Navigation SDK korrekt.
Weitere Informationen zur Verwendung dieser Methoden finden Sie in der Navigation SDK-Demo-App.
Wenn Sie NavigationView
verwenden, rufen Sie Lebenszyklusereignisse aus der Aktivität oder dem Fragment auf, nicht aus beiden
Um die strikte Reihenfolge der Lebenszyklusmethoden beizubehalten, rufen Sie diese Ereignisse entweder über die Lebenszyklus-Callbacks der Aktivität oder des Fragments auf, die diese Ereignisse in der richtigen Reihenfolge erhalten. So müssen Apps nicht zwischen Fragmenten und Aktivitäten koordiniert werden, was zu doppelten Aufrufen führen kann.