Wake lock parsial bermasalah

Penguncian layar saat aktif parsial adalah mekanisme di PowerManager API yang memungkinkan developer untuk menjaga CPU tetap berjalan setelah layar perangkat dinonaktifkan (terlepas dari akibat waktu tunggu sistem atau pengguna menekan tombol daya). Aplikasi Anda melakukan penguncian layar saat aktif parsial dengan memanggil acquire() dengan tanda PARTIAL_WAKE_LOCK. Penguncian layar saat aktif parsial menjadi bermasalah jika ditahan untuk waktu yang lama saat aplikasi sedang berjalan di latar belakang (tidak ada bagian aplikasi yang terlihat oleh pengguna). Kondisi ini menghabiskan baterai perangkat karena mencegah perangkat memasuki status daya yang lebih rendah. Penguncian layar saat aktif parsial sebaiknya hanya digunakan saat diperlukan dan dilepaskan segera setelah tidak diperlukan lagi.

Jika aplikasi memiliki penguncian layar saat aktif parsial bermasalah, Anda dapat menggunakan pedoman di halaman ini untuk mendiagnosis dan memperbaiki masalah.

Mendeteksi masalah

Anda mungkin tidak selalu mengetahui bahwa penguncian layar saat aktif parsial pada aplikasi bermasalah. Jika Anda sudah memublikasikan aplikasi, Android vitals dapat membantu Anda mengetahui masalahnya.

Android vitals

Android vitals dapat membantu meningkatkan performa aplikasi dengan memberi tahu Anda melalui Konsol Play ketika aplikasi menampilkan penguncian layar saat aktif parsial yang bermasalah. Android vitals melaporkan penguncian layar saat aktif parsial sebagai bermasalah saat terjadi setidaknya satu jam, sementara di latar belakang, penguncian layar saat aktif parsial terjadi dalam sesi baterai.

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.

Jumlah sesi baterai yang ditampilkan adalah gabungan untuk semua pengguna aplikasi yang diukur. Untuk mengetahui informasi tentang cara Google Play mengumpulkan data Android vitals, lihat dokumentasi Konsol Play.

Setelah Anda mengetahui bahwa aplikasi memiliki penguncian layar saat aktif parsial bermasalah yang berlebihan, langkah berikutnya adalah mengatasi masalah.

Memperbaiki masalah

Karena penguncian layar saat aktif dapat menghabiskan baterai perangkat, Anda tidak boleh menggunakan penguncian layar saat aktif jika ada alternatif. Dokumentasi Memilih API yang tepat untuk membuat perangkat tetap aktif dapat membantu Anda menemukan solusi terbaik untuk aplikasi Anda.

Jika Anda perlu menggunakan penguncian layar saat aktif, ikuti praktik terbaik penguncian layar saat aktif untuk memastikan penguncian layar saat aktif tidak mengganggu efisiensi perangkat. Secara khusus, pastikan setiap perangkat yang Anda peroleh dirilis, dan lepaskan kunci secepat mungkin.

Setelah memperbaiki masalah di kode, verifikasi bahwa aplikasi dengan tepat melepaskan penguncian layar saat aktif dengan menggunakan alat berikut:

  • dumpsys - alat yang menyediakan informasi tentang status layanan sistem di perangkat. Untuk melihat status layanan daya, yang mencakup daftar penguncian layar saat aktif, jalankan adb shell dumpsys power.

  • Battery Historian - alat yang menguraikan output laporan bug Android menjadi representasi visual untuk peristiwa terkait daya.