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 korzystasz z funkcji NavigationView, podczas wywoływania metod cyklu życia używaj ścisłej kolejności

NavigationView zawiera mapę nawigacyjną i ściśle śledzi zdarzenia cyklu życia jako czynności i fragmenty Androida, wykonując określone działania po wywołaniu tych zdarzeń cyklu życia. NavigationView wykonuje wiele inicjacji na NavigationView#onCreate i NavigationView#onStart oraz czyszczenie na NavigationView#onStop i NavigationView#onDestroy, a także podczas przetwarzania innych zdarzeń cyklu życia.

Metody cyklu życia NavigationView mają takie samo znaczenie jak w przypadku aktywności lub fragmentów w Androidzie. Na przykład onCreate()NavigationView odpowiada mniej więcej wywołaniu przez metody obsługi cyklu życia z aplikacji lub fragmentu na Androida. Ponieważ metody obsługi cyklu życia NavigationView są wywoływane w tym samym porządku co metody obsługi cyklu życia Androida, wymagane jest ścisłe uporządkowanie tych metod NavigationView. W przeciwnym razie mogą wystąpić problemy z pamięcią, błędy interfejsu użytkownika, nieaktualizowanie lokalizacji i inne problemy.

Więcej informacji o cyklu życia aktywności w Androidzie znajdziesz w sekcji Pojęcia związane z cyklem życia aktywności w dokumentacji dla deweloperów 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 aktywności jest wywoływana Wywoływany po której metodzie cyklu życia
onConfigurationChanged() Wywoływany, gdy interfejs jest na pierwszym planie, a konfiguracja się zmienia. 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 element NavigationView 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 korzystasz z metody NavigationView, wywołaj zdarzenia cyklu życia z działania lub fragmentu, ale nie z obu tych elementów jednocześnie.

Aby zachować ścisłą kolejność metod cyklu życia, wywołuj te zdarzenia z odpowiednich funkcji wywołania zwrotnego 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ć powielanie wywołań.