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()
z 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ń.