Trang này giải thích các phương pháp hay nhất để tương tác với Bản đồ điều hướng trong ứng dụng của bạn.
Sử dụng SupportNavigationFragment
thay vì NavigationView
, bất cứ khi nào có thể
SupportNavigationFragment
là một trình bao bọc để thuận tiện cho việc xử lý các lệnh gọi lại trong vòng đời NavigationView
, vì vậy, bạn không cần tự quản lý các lệnh gọi lại này. Phương pháp này ít gặp lỗi hơn và là cách hay để
sử dụng tính năng Điều hướng trong ứng dụng của bạn. Khi sử dụng SupportNavigationFragment
, hãy đảm bảo không
để gọi các sự kiện trong vòng đời của NavigationView
.
Nếu sử dụng NavigationView
, hãy sử dụng thứ tự nghiêm ngặt khi gọi các phương thức vòng đời
NavigationView
lưu trữ bản đồ Điều hướng và theo dõi chặt chẽ các sự kiện trong vòng đời dưới dạng hoạt động và mảnh Android, thực hiện các hành động cụ thể khi các sự kiện trong vòng đời này được gọi. NavigationView
thực thi nhiều lần khởi chạy
vào NavigationView#onCreate
và NavigationView#onStart
cũng như tính năng dọn dẹp đang bật
NavigationView#onStop
và NavigationView#onDestroy
, cũng như khi các thiết bị khác
các sự kiện trong vòng đời được xử lý.
Các phương thức vòng đời của NavigationView
có ý nghĩa giống như đối với Android
hoạt động hoặc mảnh. Ví dụ: onCreate()
trong số NavigationView
khoảng
sẽ dịch sang và cần được gọi bằng các phương thức gọi lại trong vòng đời từ Android
hoạt động hoặc mảnh. Vì các phương thức gọi lại trong vòng đời NavigationView
dựa trên
bật và được gọi theo thứ tự giống như các phương thức gọi lại trong vòng đời của Android, mạnh mẽ
bắt buộc phải có thứ tự của các phương thức NavigationView này. Nếu không, bạn có thể
trải nghiệm bộ nhớ
rò rỉ, giao diện người dùng
lỗi, vị trí không được cập nhật và các vấn đề khác.
Để biết thêm thông tin về vòng đời hoạt động Android, hãy xem phần Khái niệm về vòng đời hoạt động trong tài liệu dành cho nhà phát triển Android.
Bảng sau đây cho biết thời điểm các phương thức khác trong vòng đời được gọi, sau khi phương thức vòng đời được chỉ định:
Phương thức vòng đời | Được gọi ở đâu trong vòng đời hoạt động | Được gọi sau phương thức vòng đời nào |
---|---|---|
onConfigurationChanged()
|
Được gọi khi giao diện người dùng đang ở nền trước và cấu hình thay đổi. | Luôn sau onStart()
|
onTrimMemory()
|
Được gọi khi một hoạt động đang chạy trong nền. | Luôn sau onPause()
|
onSaveInstance()
|
Được gọi trước khi một hoạt động bị huỷ. | Luôn sau onStop()
|
Đừng gọi các phương thức vòng đời này nhiều lần mà không gọi trước phương thức đóng tương ứng. Ngoài ra, hãy lưu ý rằng nếu một số lệnh gọi lại vòng đời Android này do chính ứng dụng quản lý và NavigationView
được thêm vào mảnh sau khi tạo hoặc bắt đầu, thì ứng dụng phải tự gọi các phương thức cụ thể theo thứ tự thích hợp để khởi chạy chính xác SDK Điều hướng.
Để được hướng dẫn thêm về cách sử dụng các phương pháp này, hãy xem bản minh hoạ SDK điều hướng ứng dụng.
Nếu sử dụng NavigationView
, hãy gọi các sự kiện trong vòng đời từ hoạt động hoặc mảnh, chứ không phải cả hai
Để duy trì thứ tự nghiêm ngặt của các phương thức vòng đời, hãy gọi các sự kiện này từ phương thức gọi lại vòng đời mảnh hoặc hoạt động nhận các sự kiện này theo thứ tự. Cách tiếp cận này giúp đảm bảo rằng các ứng dụng không cần phải phối hợp giữa các mảnh và hoạt động cũng như gây ra lệnh gọi trùng lặp.