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ę nawigacyjną 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 NavigationView#onCreateNavigationView#onStart oraz czyszczenia na 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 w przybliżeniu 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 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 funkcji 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ń.