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.
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- Periode frozen
- Menjalankan benchmark dalam Continuous Integration
- Membuat dan mengukur Profil Dasar Pengukuran tanpa Macrobenchmark