Что такое Android Wakelocks и как их исправить

Вы когда-нибудь ложились спать с полностью заряженным аккумулятором Android, но просыпались утром с полностью разряженным телефоном? Если ответ положительный, возможно, на вас влияют приложения для пробуждения, установленные на вашем смартфоне. Конечно, это также может быть связано с плохим состоянием батареи. Но сценарии пробуждения системы из-за некорректного поведения приложений, которые используют ресурсы вашего телефона и расходуют заряд батареи, могут возникать даже на исправных устройствах.

Спи спокойно (через Shutterstock)

Чтобы лучше понять проблему, мы рассмотрим, что такое wakelocks, когда дело касается Android, и как мы можем обнаружить и исправить проблему, чтобы увеличить время автономной работы.

Что такое Wakelocks?

Когда вы нажимаете кнопку питания на телефоне, чтобы заблокировать экран, вы предполагаете, что телефон перейдет в спящий режим. Но это не всегда так. Есть приложения, которые работают в фоновом режиме, используя ресурсы устройства и не позволяя телефону переходить в режим глубокого сна. Из-за этого процессор телефона постоянно работает, что разряжает аккумулятор, даже когда вы им не пользуетесь. Большинство этих пробуждений вызвано тем, что приложения хотят синхронизировать данные в фоновом режиме или использовать службы определения местоположения.

Поэтому приложения, которые поддерживают работу вашего процессора даже после того, как ваш телефон находится в спящем режиме, называются приложениями wakelock. Однако нельзя винить только эти приложения. Эти будильники необходимы, если вы хотите видеть обновленный почтовый ящик утром. Приложения используют разрешение для синхронизации данных с серверами, что иногда длится всего несколько минут.

Проблема начинается, когда некоторые приложения используют это разрешение в течение часа и заставляют процессор вашего телефона работать все время. Возьмем, к примеру, сервисы Google Play. Если у вас включена функция определения местоположения, эта служба будет держать процессор вашего телефона в активном состоянии почти всю ночь и значительно сокращать время работы от батареи.

Итак, теперь, когда мы знаем, что такое wakelocks, давайте посмотрим, как мы можем обнаружить приложения, которые его вызывают.

Заметка: Поскольку для получения этих данных нам потребуются повышенные разрешения, необходим root-доступ. Боюсь, что без прав root на вашем устройстве вы мало что сможете сделать с проблемой wakelock. Но в настоящее время рутировать устройство легко, поэтому не забудьте добавить эту страницу в закладки и вернуться к ней, как только вы выясните, как рутировать свой Android (и рутировали его тоже).

Обнаружение приложений, вызывающих Wakelocks

Если у вас есть телефон с рутированным доступом, обнаруживать бодрствования довольно просто. Полностью зарядите аккумулятор до 100% и установите приложение под названием Детектор Wakelock, на устройстве. Сделав это, перезагрузите телефон один раз и запустите приложение. Wakelock Detector запросит root-доступ и будет работать в фоновом режиме для сбора данных.

Вернитесь в приложение через несколько часов, и вы сможете увидеть общее количество времени, в течение которого ваши приложения поддерживали работу процессора в фоновом режиме. Вы также можете проверить, сколько раз приложение запускало wakelock.

Решение проблемы

Итак, теперь, когда мы знаем, какие приложения вызывают эти блокировки, одним из самых простых вариантов было бы удалить приложение и найти лучшую альтернативу в Play Store. Но есть системные приложения, такие как Google Play Services, которые вы не можете удалить. Эти приложения необходимы для работы телефона.

Чтобы следить за такими приложениями, вы можете установить Модуль Xposed под названием Amplify. Amplify — это в основном приложение для экономии заряда батареи для Android, но в отличие от других, в нем есть модуль для ограничения запросов на пробуждение от различных приложений, установленных в вашей системе. Выберите Wakelock вариант из правой панели навигации. Выберите разрешение, которое вы хотите ограничить, и укажите благоприятный период времени. Приложение также предоставляет рекомендуемые настройки для устранения проблемы.

Вывод

Это было почти все, что касается пробуждения на Android и того, как исправить проблему с аккумулятором, которую они могут вызвать. Люди, у которых наблюдается высокая утечка из-за работы служб геолокации Google в фоновом режиме, должны попробовать это. В случае возникновения путаницы или для получения дополнительных объяснений просто оставьте комментарий, и мы будем рады помочь.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.