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ę nawigacji i ściśle śledzi zdarzenia cyklu życia jako fragmenty i aktywności Androida, wykonując określone działania, gdy są wywoływane te zdarzenia cyklu życia. NavigationView
wykonuje wiele inicjalizacji na NavigationView#onCreate
i NavigationView#onStart
oraz czyszczenia na NavigationView#onStop
i NavigationView#onDestroy
, a także podczas przetwarzania innych zdarzeń cyklu życia.
NavigationView
Metody cyklu życia mają takie samo znaczenie jak w przypadku aktywności lub fragmentów w Androidzie. Na przykład onCreate()
z NavigationView
oznacza w przybliżeniu, że funkcja powinna być wywoływana przez wywołania zwrotne cyklu życia z aktuwności lub fragmentu w 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 w Androidzie, wymagane jest ścisłe uporządkowanie tych metod NavigationView. W przeciwnym razie możesz mieć problemy z wyciekiem pamięci, błędami interfejsu użytkownika, nieaktualizowaniem lokalizacji i innymi problemami.
Więcej informacji o cyklu życia aktywności w Androidzie znajdziesz w sekcji Koncepcje cyklu życia aktywności w dokumentacji dla deweloperów aplikacji na 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 działania | Wykonana po której metodzie cyklu życia |
---|---|---|
onConfigurationChanged()
|
Wywoływane, gdy interfejs jest na pierwszym planie i zmienia się konfiguracja. | 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 elementNavigationView
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 aktywności lub fragmentu, ale nie z obu.
Aby zachować ścisłą kolejność metod cyklu życia, wywołuj te zdarzenia z odpowiednich wywołań zwrotnych 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ć zduplikowane wywołania.