Sprawdzone metody korzystania z mapy nawigacyjnej

Na tej stronie opisujemy sprawdzone metody korzystania z mapy nawigacji w do aplikacji.

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

SupportNavigationFragment to otoka, która ułatwia obsługę NavigationView wywołania zwrotnego cyklu życia, więc nie musisz nimi zarządzać samych wywołań zwrotnych. 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 inicjacji w: NavigationView#onCreate i NavigationView#onStart, oraz czyszczenie włączone NavigationView#onStop i NavigationView#onDestroy, a także wtedy, gdy inne zdarzenia cyklu życia są przetwarzane.

Metody cyklu życia NavigationView mają takie samo znaczenie jak w przypadku aktywności lub fragmentów na Androidzie. Na przykład onCreate() z NavigationView w przybliżeniu przekłada się na i powinien być wywoływany przez wywołania zwrotne cyklu życia z Androida działania lub fragmentu. 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 możesz pamięć doświadczenia wycieki, UI błędów, nieaktualizowania lokalizacji i innych problemów.

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

W tabeli poniżej pokazujemy, kiedy powinny być wywoływane inne metody cyklu życia, po określonych metod 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ływana przed zniszczeniem działania. 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 aktywności lub fragmentu, ale nie z obu.

Aby zachować rygorystyczną kolejność metod cyklu życia, wywołaj te zdarzenia z działania lub fragment wywołań zwrotnych cyklu życia, które odbierają te zdarzenia. w określonej kolejności. Dzięki temu aplikacje nie muszą koordynować działań między fragmentami i czynnościami, co mogłoby powodować powielanie wywołań.