Tentang lokasi latar belakang dan masa pakai baterai

Penggunaan lokasi latar belakang dapat memengaruhi masa pakai baterai secara signifikan. Android mendukung batasan pengumpulan lokasi latar belakang, yang mendorong developer untuk mengoptimalkan aplikasi mereka agar lebih hemat baterai. Pengoptimalan ini bermanfaat untuk semua perangkat, terlepas dari versi Android yang berjalan.

Dengan Batas Lokasi Latar Belakang:

  • Pengumpulan lokasi latar belakang diperlambat dan lokasi dihitung, dan hanya dikirim beberapa kali dalam satu jam.
  • Pemindaian Wi-Fi lebih konservatif, dan pembaruan lokasi tidak dihitung saat perangkat tetap terhubung dengan titik akses statis yang sama.
  • Daya respons pembatasan wilayah berubah dari puluhan detik hingga sekitar dua menit. Perubahan ini meningkatkan performa baterai—hingga 10 kali lebih baik pada beberapa perangkat.

Pengetahuan yang diperlukan

Dokumen ini mengasumsikan bahwa Anda sudah memahami API berikut:

Memahami pengurasan baterai

Pengumpulan lokasi dan pengurasan baterai terkait sebagai berikut:

  • Akurasi: Presisi data lokasi. Secara umum, makin tinggi akurasinya, maka makin tinggi pengurasan baterai.
  • Frekuensi: Seberapa sering lokasi dihitung. Semakin sering lokasi dihitung, makin banyak baterai yang digunakan.
  • Latensi: Seberapa cepat data lokasi dikirimkan. Lebih sedikit latensi biasanya memerlukan lebih banyak baterai.

Akurasi

Anda dapat menentukan akurasi lokasi menggunakan metode setPriority(), yang meneruskan salah satu nilai berikut sebagai argumen:

  • PRIORITY_HIGH_ACCURACY menyediakan lokasi seakurat mungkin, yang dihitung menggunakan input sebanyak yang diperlukan (mengaktifkan GPS, Wi-Fi, dan sel, serta menggunakan berbagai Sensor), dan dapat menyebabkan pengurasan baterai yang signifikan.
  • PRIORITY_BALANCED_POWER_ACCURACY memberikan lokasi yang akurat sekaligus mengoptimalkan daya. Sangat jarang menggunakan GPS. Biasanya menggunakan kombinasi informasi Wi-Fi dan sel untuk menghitung lokasi perangkat.
  • PRIORITY_LOW_POWER sangat mengandalkan menara seluler dan menghindari input Wi-Fi dan GPS, yang memberikan akurasi (tingkat kota) sementara dengan pengurasan baterai minimal.
  • PRIORITY_NO_POWER menerima lokasi secara pasif dari aplikasi lain untuk lokasi yang telah dihitung.

Gunakan opsi daya seimbang atau daya rendah untuk memenuhi kebutuhan lokasi sebagian besar aplikasi. Cadangan akurasi tinggi untuk aplikasi yang berjalan di latar depan dan memerlukan update lokasi real time (misalnya, aplikasi pemetaan).

Frekuensi

Anda bisa menetapkan frekuensi lokasi menggunakan dua metode:

  • Gunakan metode setinterval() untuk menentukan interval penghitungan lokasi aplikasi Anda.
  • Gunakan metode setFastestInterval() untuk menentukan interval untuk menerima lokasi aplikasi lain.

Teruskan nilai terbesar yang mungkin saat menggunakan setInterval(). Hal ini terutama berlaku untuk pengumpulan lokasi latar belakang, yang sering kali menguras baterai. Cadangankan interval beberapa detik untuk kasus penggunaan latar depan.

Batas lokasi latar belakang yang diperkenalkan di Android 8.0 (API level 26) memberlakukan strategi ini, tetapi aplikasi Anda harus berusaha memberlakukannya pada perangkat yang menjalankan Android 7.0 (API level 24) dan yang lebih rendah.

Latensi

Anda dapat menentukan latensi menggunakan metode setMaxWaitTime(), yang biasanya meneruskan nilai yang beberapa kali lebih besar dari interval yang ditentukan dalam metode setInterval(). Setelan ini menunda pengiriman lokasi, dan beberapa update lokasi akan dikirimkan dalam batch. Dua perubahan ini membantu meminimalkan konsumsi baterai.

Jika aplikasi Anda tidak segera memerlukan update lokasi, Anda harus meneruskan nilai kemungkinan terbesar ke metode setMaxWaitTime(), yang secara efektif berdagang latensi untuk lebih banyak data dan efisiensi baterai.

Saat menggunakan pembatasan wilayah, aplikasi harus meneruskan nilai besar ke dalam metode setNotificationResponsiveness() untuk menghemat daya. Nilai lima menit atau lebih besar disarankan.

Bacaan lebih lanjut

Untuk informasi selengkapnya, lihat dokumen berikut:

  • Rekomendasi: Panduan ini menjelaskan beberapa tindakan konkret yang direkomendasikan yang dapat Anda gunakan untuk mengurangi dampak aplikasi terhadap masa pakai baterai.
  • Kasus penggunaan: Panduan ini memberikan beberapa kasus penggunaan umum saat Anda mungkin menggunakan layanan lokasi dan cara mengoptimalkan dampaknya terhadap masa pakai baterai untuk kasus tersebut.