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