Sprawdzone metody korzystania z mapy nawigacyjnej

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

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

SupportNavigationFragment to element opakowujący, który ułatwia obsługę wywołań zwrotnych cyklu życia NavigationView, dzięki czemu nie musisz zarządzać tymi wywołaniami zwrotnymi. Ta metoda jest mniej podatna na błędy i jest preferowanym sposobem korzystania z funkcji Nawigacja w aplikacji. Używając SupportNavigationFragment, nie wywołuj zdarzeń cyklu życia NavigationView.

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

NavigationView zawiera mapę nawigacji i ściśle śledzi zdarzenia cyklu życia jako fragmenty i aktywności Androida, wykonując określone działania, gdy są wywoływane te zdarzenia cyklu życia. NavigationView wykonuje wiele inicjalizacji na NavigationView#onCreateNavigationView#onStart oraz czyszczenia na NavigationView#onStopNavigationView#onDestroy, a także podczas przetwarzania innych zdarzeń cyklu życia.

NavigationViewMetody cyklu życia mają takie samo znaczenie jak w przypadku aktywności lub fragmentów w Androidzie. Na przykład onCreate() z NavigationView oznacza w przybliżeniu, że funkcja powinna być wywoływana przez wywołania zwrotne cyklu życia z aktuwności lub fragmentu w Androidzie. Ponieważ wywołania funkcji obsługi cyklu życia NavigationView są wywoływane w tym samym porządku co wywołania funkcji obsługi cyklu życia w Androidzie, wymagane jest ścisłe uporządkowanie tych metod NavigationView. W przeciwnym razie możesz mieć problemy z wyciekiem pamięci, błędami interfejsu użytkownika, nieaktualizowaniem lokalizacji i innymi problemami.

Więcej informacji o cyklu życia aktywności w Androidzie znajdziesz w sekcji Koncepcje cyklu życia aktywności w dokumentacji dla deweloperów aplikacji na Androida.

Poniższa tabela pokazuje, kiedy po wywołaniu określonych metod cyklu życia należy wywołać inne metody cyklu życia:

Metoda cyklu życia W jakim miejscu w cyklu życia działania Wykonana po której metodzie cyklu życia
onConfigurationChanged() Wywoływane, gdy interfejs jest na pierwszym planie i zmienia się konfiguracja. Zawsze po: onStart()
onTrimMemory() Wywoływany, gdy aktywność jest wykonywana w tle. Zawsze po: onPause()
onSaveInstance() Wywoływany przed zniszczeniem aktywności. Zawsze po: onStop()

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

Więcej wskazówek dotyczących korzystania z tych metod znajdziesz w aplikacji demonstracyjnej Navigation SDK.

Jeśli używasz NavigationView, wywołuj zdarzenia cyklu życia z aktywności lub fragmentu, ale nie z obu.

Aby zachować ścisłą kolejność metod cyklu życia, wywołuj te zdarzenia z odpowiednich wywołań zwrotnych cyklu życia aktywności lub fragmentu, które otrzymują te zdarzenia w kolejności. Dzięki temu aplikacje nie muszą koordynować działań między fragmentami i czynnościami, co mogłoby powodować zduplikowane wywołania.