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ń obsługi cyklu życia NavigationView, dzięki czemu nie musisz zarządzać tymi wywołaniami. Ta metoda jest mniej podatna na błędy i jest preferowanym sposobem korzystania z funkcji Nawigacja w aplikacji. Gdy używasz SupportNavigationFragment, nie wywołuj zdarzeń cyklu życia NavigationView.

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

NavigationView hostuje mapę nawigacji i ściśle śledzi zdarzenia cyklu życia jako aktywności i fragmenty Androida, wykonując określone czynności po wywołaniu tych zdarzeń cyklu życia. NavigationView wykonuje wiele inicjalizacji na interfejsach NavigationView#onCreateNavigationView#onStart oraz czyszczenia na interfejsach NavigationView#onStopNavigationView#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 na Androidzie. Na przykład onCreate()NavigationView odpowiada mniej więcej wywołaniu przez metody obsługi cyklu życia z aplikacji lub fragmentu na 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 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 się 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ływany 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 używasz NavigationView, wywołuj zdarzenia cyklu życia z poziomu działania lub fragmentu, ale nie z obu tych elementów.

Aby zachować ścisłą kolejność metod cyklu życia, wywołuj te zdarzenia z połączeń z cyklem ż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ń.