Pemindaian Wi-Fi yang Berlebihan di Latar Belakang

Saat melakukan pemindaian Wi-Fi di latar belakang, aplikasi akan membangunkan CPU sehingga menyebabkan baterai cepat habis. Jika terlalu sering melakukan pemindaian, masa pakai baterai dapat berkurang banyak. Aplikasi dianggap berjalan di latar belakang jika berada dalam status PROCESS_STATE_BACKGROUND atau PROCESS_STATE_CACHED.

Dokumen ini menjelaskan cara mendeteksi kapan aplikasi melakukan terlalu banyak pemindaian Wi-Fi di latar belakang, serta memberikan tips tentang cara mendiagnosis dan mengatasi masalah tersebut.

Mendeteksi masalah

Anda mungkin tidak selalu mengetahui bahwa aplikasi menunjukkan pemindaian Wi-Fi dalam jumlah yang sangat banyak. Jika Anda telah memublikasikan aplikasi, Android vitals dapat membuat Anda menyadari masalah agar Anda dapat memperbaikinya.

Android vitals

Android vitals dapat membantu meningkatkan performa aplikasi dengan memberi tahu Anda melalui Konsol Play ketika aplikasi melakukan pemindaian Wi-Fi yang berlebihan di latar belakang. Android vitals menganggap pemindaian Wi-Fi berlebihan jika aplikasi melakukan lebih dari 4 pemindaian per jam. Di Konsol Play, Anda dapat memeriksa persentase sesi baterai yang menunjukkan perilaku ini.

Definisi sesi baterai bergantung pada versi platform.

  • Di Android 10, sesi baterai merupakan gabungan dari semua laporan baterai yang diterima dalam periode 24 jam tertentu. Laporan baterai mengacu pada interval antara dua pengisian daya baterai, baik dari di bawah 20% hingga di atas 80% atau dari tingkat pengisian daya apa pun hingga 100%.
  • Di Android 11, sesi baterai adalah periode tetap selama 24 jam.

Untuk mengetahui informasi tentang cara Google Play mengumpulkan data Android vitals, lihat dokumentasi Konsol Play .

Menyelidiki pemindaian Wi-Fi

Alat seperti Battery Historian dapat membantu Anda mendapatkan lebih banyak data tentang perilaku pemindaian aplikasi. Battery Historian menyediakan visualisasi perilaku pemindaian Wi-Fi per aplikasi, yang dapat membantu Anda mendapatkan gambaran yang jelas tentang apa yang terjadi dengan aplikasi Anda. Untuk mengetahui informasi selengkapnya tentang Battery Historian, lihat Menganalisis Penggunaan Daya dengan Battery Historian.

Untuk mengetahui informasi tentang mekanika penggunaan Battery Historian, lihat Batterystats dan Panduan Battery Historian.

Mengurangi pemindaian

Jika memungkinkan, aplikasi harus melakukan pemindaian Wi-Fi saat aplikasi sedang berjalan di latar depan. Layanan latar depan otomatis menampilkan notifikasi; melakukan pemindaian Wi-Fi di latar depan sehingga pengguna menyadari alasan dan waktu pemindaian Wi-Fi dilakukan di perangkatnya.

Untuk mengetahui informasi cara memindai saat berada di latar depan, lihat dokumentasi untuk class WifiManager.

Jika aplikasi tidak dapat menghindari dilakukannya pemindaian Wi-Fi saat aplikasi sedang berjalan di latar belakang, aplikasi dapat memanfaatkan penerapan strategi Lazy First. Lazy First mencakup tiga teknik yang dapat Anda gunakan untuk mengurangi pemindaian Wi-Fi: mengurangi, menunda, dan menggabungkan. Untuk mengetahui informasi tentang teknik ini, lihat Mengoptimalkan Masa Pakai Baterai.