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ń.