Sprawdzone metody korzystania z mapy nawigacyjnej

Na tej stronie znajdziesz sprawdzone metody interakcji z mapą nawigacyjną w aplikacji.

W miarę możliwości używaj SupportNavigationFragment zamiast NavigationView.

SupportNavigationFragment to otoczka ułatwiająca obsługę wywołań zwrotnych cyklu życia NavigationView, więc nie musisz zarządzać tymi wywołaniami zwrotnymi samodzielnie. Ta metoda jest mniej podatna na błędy i jest preferowanym sposobem korzystania z Navigation w aplikacji. Podczas korzystania z SupportNavigationFragment nie wywołuj zdarzeń cyklu życia NavigationView.

Jeśli używasz NavigationView, podczas wywoływania metod cyklu życia stosuj ścisłą kolejność.

NavigationView hostuje mapę nawigacyjną i ściśle śledzi zdarzenia cyklu życia jako działania i fragmenty Androida, podejmując określone działania po wywołaniu tych zdarzeń cyklu życia. NavigationView wykonuje wiele inicjalizacji na platformach NavigationView#onCreateNavigationView#onStart oraz czyszczenie na platformach NavigationView#onStopNavigationView#onDestroy, a także podczas przetwarzania innych zdarzeń cyklu życia.

NavigationView metody cyklu życia mają takie samo znaczenie jak w przypadku aktywności lub fragmentów na Androidzie. Na przykład onCreate() w przybliżeniu NavigationView odpowiada wywołaniom zwrotnym cyklu życia z aktywności lub fragmentu Androida i powinno być przez nie wywoływane. Ponieważ wywołania zwrotne cyklu życia NavigationView są oparte na wywołaniach zwrotnych cyklu życia Androida i wywoływane w tej samej kolejności, wymagane jest ścisłe uporządkowanie tych metod NavigationView. W przeciwnym razie mogą wystąpić wycieki pamięci, błędy interfejsu, brak aktualizacji lokalizacji i inne problemy.

Więcej informacji o cyklu życia aktywności na Androidzie znajdziesz w sekcji Pojęcia związane z cyklem życia aktywności w dokumentacji dla deweloperów Androida.

W tabeli poniżej pokazano, kiedy należy wywoływać inne metody cyklu życia po określonych metodach cyklu życia:

Metoda cyklu życia Wywoływana w cyklu życia aktywności Wywoływana po której metodzie cyklu życia
onConfigurationChanged() Wywoływana, gdy interfejs jest na pierwszym planie i zmienia się konfiguracja. Zawsze po onStart()
onTrimMemory() Wywoływana, gdy aktywność jest w tle. Zawsze po onPause()
onSaveInstance() Wywoływana przed zniszczeniem aktywności. Zawsze po onStop()

Nie wywołuj tych metod cyklu życia wielokrotnie bez wcześniejszego wywołania odpowiedniej metody zamykającej. Pamiętaj też, że jeśli niektóre z tych wywołań zwrotnych cyklu życia Androida są zarządzane przez samą aplikację, a NavigationView jest dodawany do fragmentu po utworzeniu lub uruchomieniu, aplikacja powinna wywoływać odpowiednie metody w odpowiedniej kolejności, aby prawidłowo zainicjować pakiet SDK nawigacji.

Dodatkowe wskazówki dotyczące korzystania z tych metod znajdziesz w aplikacji demonstracyjnej pakietu Navigation SDK.

Jeśli używasz NavigationView, wywołuj zdarzenia cyklu życia z poziomu działania lub fragmentu, a nie obu tych elementów.

Aby zachować ścisłą kolejność wywoływania metod cyklu życia, wywołuj te zdarzenia z wywołań zwrotnych cyklu życia aktywności lub fragmentu, które odbierają te zdarzenia w odpowiedniej kolejności. Dzięki temu aplikacje nie muszą koordynować działań między fragmentami i aktywnościami, co zapobiega duplikowaniu wywołań.