Quét Wi-Fi quá mức khi ứng dụng ở chế độ nền

Khi một ứng dụng quét tìm Wi-Fi ở chế độ nền, ứng dụng đó sẽ đánh thức CPU, gây ra tốc độ tiêu hao pin. Khi quá nhiều lần quét diễn ra, tuổi thọ pin của thiết bị có thể bị rút ngắn đáng kể. Một ứng dụng được coi là đang chạy ở chế độ nền nếu nó ở trạng thái PROCESS_STATE_BACKGROUND hoặc PROCESS_STATE_CACHED.

Tài liệu này giải thích cách phát hiện khi ứng dụng của bạn thực hiện quá nhiều lần quét tìm Wi-Fi ở chế độ nền, đồng thời cung cấp các mẹo về chẩn đoán và giải quyết vấn đề.

Phát hiện vấn đề

Không phải lúc nào bạn cũng biết ứng dụng của mình có nhiều lần quét tìm Wi-Fi không đúng cách. Nếu bạn đã phát hành ứng dụng, Android vitals có thể thông báo cho bạn về sự cố để bạn có thể khắc phục.

Android vitals

Android vitals có thể giúp cải thiện hiệu suất hoạt động của ứng dụng bằng cách cảnh báo cho bạn qua Play Console khi ứng dụng đang quét tìm Wi-Fi quá nhiều lần ở chế độ nền. Android vitals coi số lần quét tìm Wi-Fi là quá nhiều khi ứng dụng thực hiện hơn 4 lần quét mỗi giờ. Trong Play Console, bạn có thể kiểm tra tỷ lệ phần trăm phiên pin có hành vi này.

Định nghĩa về phiên pin là tuỳ theo phiên bản nền tảng.

  • Trong Android 10, phiên pin là tổng hợp của tất cả các báo cáo pin nhận được trong khoảng thời gian 24 giờ nhất định. Báo cáo về pin được tính trong khoảng thời gian giữa hai lần sạc pin, kể cả khi sạc từ dưới 20% đến trên 80% hoặc từ bất kỳ mức sạc nào đến 100%.
  • Trong Android 11, phiên pin là khoảng thời gian 24 giờ cố định.

Để biết thông tin về cách Google Play thu thập dữ liệu Android vitals, vui lòng xem tài liệu Play Console.

Kiểm tra chế độ quét tìm Wi-Fi

Các công cụ như Battery Historian có thể giúp bạn hiểu rõ hơn về hành vi quét của ứng dụng. Công cụ Battery Historian cung cấp hình ảnh trực quan về hành vi quét Wi-Fi trên cơ sở từng ứng dụng, giúp bạn hiểu rõ hơn về những gì đang xảy ra với ứng dụng của mình. Để biết thêm thông tin chi tiết về công cụ Battery Historian, vui lòng xem phần Phân tích mức sử dụng năng lượng với trình Battery Historian.

Để biết thêm thông tin về cơ chế sử dụng trình Battery Historian, vui lòng xem nội dung Thống kê pin và Hướng dẫn sử dụng trình Battery Historian.

Giảm số lần quét

Nếu có thể, ứng dụng của bạn phải thực hiện quét tìm Wi-Fi trong khi ứng dụng đang chạy ở nền trước. Các dịch vụ trên nền trước tự động hiển thị thông báo; việc quét tìm Wi-Fi ở nền trước sẽ giúp người dùng biết nguyên nhân và thời điểm quét tìm Wi-Fi trên thiết bị của họ.

Để biết thông tin về cách quét khi ở nền trước, vui lòng xem tài liệu về lớp WifiManager.

Nếu không thể tránh được việc quét tìm Wi-Fi trong khi ứng dụng đang chạy ở chế độ nền, bạn có thể tận dụng chiến lược Lazy First (Ưu tiên tải từng phần). Lazy First bao gồm 3 kỹ thuật mà bạn có thể sử dụng để cắt giảm quá trình quét tìm Wi-Fi: giảm, trì hoãnhợp nhất. Để biết thông tin về những kỹ thuật này, hãy xem phần Tối ưu hoá để cải thiện thời lượng pin.