Частичная блокировка пробуждения — это механизм в API PowerManager , позволяющий разработчикам поддерживать работу процессора после выключения дисплея устройства (будь то из-за системного таймаута или нажатия пользователем кнопки питания). Ваше приложение получает частичную блокировку пробуждения, вызывая acquire() с флагом PARTIAL_WAKE_LOCK или используя другие API, которые получают блокировки пробуждения . Частичная блокировка пробуждения становится зависшей , если она удерживается в течение длительного времени, пока ваше приложение работает в фоновом режиме (никакая часть вашего приложения не видна пользователю). Это состояние разряжает батарею устройства, поскольку препятствует переходу устройства в режимы пониженного энергопотребления. Частичные блокировки пробуждения следует использовать только при необходимости и снимать, как только они перестают быть необходимыми.
Если в вашем приложении зависла частичная блокировка пробуждения, вы можете воспользоваться инструкциями на этой странице для диагностики и устранения проблемы.
Устраните проблему
Поскольку блокировка пробуждения может разряжать батарею устройства, не следует использовать блокировку пробуждения, если есть альтернатива. Документация «Выберите правильный API для поддержания устройства в активном состоянии» поможет вам найти оптимальное решение для вашего приложения.
Если вам необходимо использовать блокировку пробуждения, следуйте рекомендациям по её применению, чтобы убедиться, что она не снижает эффективность работы устройства. В частности, убедитесь, что каждое устройство, которое вы захватываете, разблокировано, и снимайте блокировку как можно быстрее.
После исправления проблемы в коде вы можете проверить правильность своих исправлений, используя локальные инструменты отладки блокировки пробуждения .
См. также
{% verbatim %}Рекомендуем вам
- Примечание: текст ссылки отображается, когда JavaScript отключен.
- Застывшие кадры
- Запуск тестов производительности в режиме непрерывной интеграции
- Создавайте и измеряйте базовые профили без использования Macrobenchmark.