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 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#onCreateNavigationView#onStart cũng như tính năng dọn dẹp đang bật NavigationView#onStopNavigationView#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.