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.

Ưu tiên sử dụng SupportNavigationFragment thay vì NavigationView khi có thể

SupportNavigationFragment là một trình bao bọc giúp bạn dễ dàng xử lý các phương thức gọi lại trong vòng đời NavigationView để bạn không cần tự quản lý các phương thức gọi lại này. Phương thức này ít gây ra lỗi hơn và là cách ưu tiên để sử dụng Điều hướng 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 dùng thứ tự nghiêm ngặt khi gọi các phương thức trong vòng đời

NavigationView lưu trữ bản đồ Điều hướng và tuân theo chặt chẽ các sự kiện trong vòng đời như các 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ư các thao tác dọn dẹp trên NavigationView#onStopNavigationView#onDestroy, cũng như khi các sự kiện khác trong vòng đời được xử lý.

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

Phương thức trong vòng đời Được gọi ở đâu trong vòng đời của activity Được gọi sau phương thức nào trong vòng đời
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 ở nền sau. Luôn sau onPause()
onSaveInstance() Được gọi trước khi một hoạt động bị huỷ. Luôn sau onStop()

Không gọi các phương thức này trong vòng đời nhiều lần mà không gọi phương thức đóng tương ứng trước. Ngoài ra, hãy lưu ý rằng nếu một số phương thức 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 phải tự gọi các phương thức cụ thể theo đúng thứ tự để khởi chạy đúng cách SDK Điều hướng.

Để được hướng dẫn thêm 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 app.

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, không phải cả hai

Để duy trì thứ tự nghiêm ngặt của các phương thức trong vòng đời, hãy gọi các sự kiện này từ các phương thức gọi lại trong vòng đời hoạt động hoặc mảnh. Các phương thức này sẽ nhận các sự kiện theo thứ tự. Phương pháp này đảm bảo rằng các ứng dụng không cần phối hợp giữa các mảnh và hoạt động, đồng thời tránh gây ra các lệnh gọi trùng lặp.