Các phương pháp hay nhất về tương tác với bản đồ điều hướng

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.

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 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 thức này ít gặp lỗi hơn và là cách ưu tiên để sử dụng Navigation trong ứng dụng. Khi sử dụng SupportNavigationFragment, hãy nhớ không gọi các sự kiện trong vòng đời 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 trên NavigationView#onCreateNavigationView#onStart, cũng như dọn dẹp trên NavigationView#onStopNavigationView#onDestroy, cũng như khi các sự kiện vòng đời khác được xử lý.

Các phương thức vòng đời NavigationView có ý nghĩa giống như các phương thức vòng đời cho các hoạt động hoặc mảnh Android. Ví dụ: onCreate() của NavigationView gần như dịch sang và nên được gọi bằng lệnh gọi lại vòng đời từ hoạt động hoặc mảnh Android. Vì các lệnh gọi lại trong vòng đời NavigationView dựa trên và được gọi theo thứ tự giống như các lệnh gọi lại trong vòng đời Android, nên bạn phải sắp xếp các phương thức NavigationView này theo thứ tự nghiêm ngặt. Nếu không, bạn có thể gặp phải rò rỉ bộ nhớ, lỗi giao diện người dùng, 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 trên 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 gọi các phương thức vòng đời khác, sau các phương thức vòng đời đã 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 ở 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 ở chế độ 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 trong 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 sẽ 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.

Để biết thêm hướng dẫn về cách sử dụng các phương thức này, hãy xem ứng dụng minh hoạ SDK điều hướng.

Nếu sử dụng NavigationView, hãy gọi các sự kiện vòng đời từ hoạt động hoặc mảnh, chứ không phải cả hai

Để giữ 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ừ lệnh gọi lại vòng đời hoạt động hoặc mảnh. Các lệnh gọi lại này sẽ nhận các sự kiện này theo thứ tự. Phương pháp này đảm bảo rằng các ứng dụng không cần điều phối giữa các mảnh và hoạt động, cũng như không gây ra các lệnh gọi trùng lặp.