Wake lock parsial bermasalah
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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
, atau dengan menggunakan API lain yang memperoleh kunci layar aktif.
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 periode 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,
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 dalam kode, Anda dapat memverifikasi perbaikan menggunakan alat
proses debug penguncian layar saat aktif lokal.
Lihat juga
Direkomendasikan untuk Anda
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Stuck partial wake locks\n\nPartial wake locks are a mechanism in the\n[`PowerManager`](/reference/android/os/PowerManager) API\nthat lets developers keep the CPU running after a device's display turns off\n(whether due to system timeout or the user pressing the power button). Your\napp acquires a partial wake lock by calling\n[`acquire()`](/reference/android/os/PowerManager.WakeLock#acquire())\nwith the\n[`PARTIAL_WAKE_LOCK`](/reference/android/os/PowerManager#PARTIAL_WAKE_LOCK)\nflag, or by using [other APIs that acquire wake locks](/develop/background-work/background-tasks/awake/wakelock/identify-wls).\nA partial wake lock becomes *stuck* if it is held for a long time while\nyour app is running in the\nbackground (no part of your app is visible to the user). This condition drains\nthe device's battery because it prevents the device from entering lower power\nstates. Partial wake locks should be used only when necessary and released as\nsoon as no longer needed.\n\nIf your app has a stuck partial wake lock, you can use the guidance in this page\nto diagnose and fix the problem.\n\nDetect the problem\n------------------\n\nYou may not always know that your app's partial wake locks are stuck.\nIf you have already published your app,\nAndroid vitals can help make you aware of the problem.\n\n### Android vitals\n\nAndroid vitals can help improve your app's performance by alerting you via the\n[Play Console](https://play.google.com/console/) when your app is\nexhibiting stuck partial wake locks. Android vitals reports partial wake locks\nas stuck when at least one, hour-long, while in the background, partial wake\nlock occurs in a 24-hour period.\n\nThe number of battery sessions displayed is an aggregate for all measured users\nof the app. For information on how Google Play collects Android vitals data, see\nthe\n[Play Console](https://support.google.com/googleplay/android-developer/answer/7385505)\ndocumentation.\n\nOnce you're aware that your app has stuck partial wake locks,\nyour next step is to address the issue.\n\nFix the problem\n---------------\n\nBecause wake locks can drain the device battery, you shouldn't use wake\nlocks if there's an alternative. The\n[Choose the right API to keep the device awake](/develop/background-work/background-tasks/awake)\ndocumentation can help you find the best solution for your app.\n\nIf you do need to use a wake lock, [follow wake lock best practices](/develop/background-work/background-tasks/awake/wakelock/best-practices)\nto make sure your wake locks don't hurt device efficiency. In particular,\nmake sure every device you acquire is released, and release the lock as quickly\nas possible.\n\nAfter fixing the problem in code, you can verify your fixes by using [local\nwake lock debugging tools](/develop/background-work/background-tasks/awake/wakelock/debug-locally).\n\nSee also\n--------\n\n- [Excessive partial wake locks (beta)](/topic/performance/vitals/excessive-wakelock)\n- [Wake lock documentation](/develop/background-work/background-tasks/awake/wakelock)\n\nRecommended for you\n-------------------\n\n- Note: link text is displayed when JavaScript is off\n- [Frozen frames](/topic/performance/vitals/render#frozen-frames)\n- [Run benchmarks in Continuous Integration](/topic/performance/benchmarking/benchmarking-in-ci)\n- [Create and measure Baseline Profiles without Macrobenchmark](/topic/performance/baselineprofiles/manually-create-measure)"]]