Takılı kalan kısmi uyanık kalma kilitleri
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Kısmi uyanma kilitleri, PowerManager
API'sinde bulunan ve geliştiricilerin, cihazın ekranı kapandıktan sonra (sistem zaman aşımı veya kullanıcının güç düğmesine basması nedeniyle) CPU'yu çalıştırmaya devam etmesine olanak tanıyan bir mekanizmadır. Uygulamanız, PARTIAL_WAKE_LOCK
işaretiyle acquire()
çağrısını yaparak veya uyandırma kilidi edinen diğer API'leri kullanarak kısmi uyanma kilidi edinir.
Uygulamanız arka planda çalışırken (uygulamanızın hiçbir kısmı kullanıcı tarafından görülemezken) uzun süre tutulan kısmi uyanma kilidi takılır. Bu durum, cihazın daha düşük güç durumlarına girmesini engellediği için cihazın pilinin tükenmesine neden olur. Kısmi uyanma kilitleri yalnızca gerektiğinde kullanılmalı ve artık gerekli olmadığında hemen bırakılmalıdır.
Uygulamanızda takılı kalmış bir kısmi uyanma kilidi varsa sorunu teşhis etmek ve düzeltmek için bu sayfadaki talimatları kullanabilirsiniz.
Sorunu algılama
Uygulamanızın kısmi uyanık kalma kilitlerinin takılı olduğunu her zaman fark etmeyebilirsiniz.
Uygulamanızı yayınladıysanız Android vitals, sorundan haberdar olmanıza yardımcı olabilir.
Android vitals
Android vitals, uygulamanızda takılı kısmi uyanma kilitleri olduğunda Play Console üzerinden sizi uyararak uygulamanızın performansını iyileştirmenize yardımcı olabilir. Android vitals, 24 saat içinde arka planda en az bir saat süren kısmi uyanık kalma kilidi oluştuğunda kısmi uyanık kalma kilidinin takılı olduğunu bildirir.
Gösterilen pil oturumlarının sayısı, uygulamanın ölçülen tüm kullanıcıları için toplu bir değerdir. Google Play'in Android vitals verilerini nasıl topladığı hakkında bilgi edinmek için Play Console dokümanlarına bakın.
Uygulamanızda kısmi uyanma kilitlerinin takılı olduğunu fark ettikten sonra, sonraki adımınız sorunu gidermektir.
Sorunu çöz
Uyandırma kilitleri cihazın pilini tüketebileceğinden, alternatifi varsa uyandırma kilitlerini kullanmamalısınız. Cihazı uyanık tutmak için doğru API'yi seçme dokümanı, uygulamanız için en iyi çözümü bulmanıza yardımcı olabilir.
Uyandırma kilidi kullanmanız gerekiyorsa uyandırma kilitlerinizin cihaz verimliliğini etkilemediğinden emin olmak için uyandırma kilidi en iyi uygulamalarını uygulayın. Özellikle, edindiğiniz her cihazın kilidinin açık olduğundan ve kilidin mümkün olduğunca hızlı bir şekilde açıldığından emin olun.
Sorunu kodda düzelttikten sonra yerel wake kilidi hata ayıklama araçlarını kullanarak düzeltmelerinizi doğrulayabilirsiniz.
Ayrıca bkz.
Sizin için önerilenler
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 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)"]]