Если у вас телефон на Android, и вам иногда кажется, что батарея разряжается, даже когда вы им почти не пользуетесь, вы, вероятно, слышали о... Режим Doze и как он помогает снизить энергопотребление в режиме ожиданияЭта функция существует в системе уже много лет, но она до сих пор относительно малоизвестна, а это значит, что многие пользователи не понимают, почему уведомления приходят с задержкой или почему некоторые приложения кажутся «спящими».
В этой статье мы углубимся в эту тему. Что такое Doze, как он работает, какие существуют типы Doze, как он влияет на ваши приложения, как его настроить и какие инструменты доступны для того, чтобы извлечь из него максимальную пользу?Здесь вы также найдете советы для разработчиков, расширенные параметры root-доступа и решения проблем, возникающих при задержке уведомлений на современных телефонах под управлением Android 13 или Android 14.
Что такое режим Doze на Android и для чего он нужен?
Дремать, проще говоря, это Система энергосбережения, используемая Android для максимально возможного ограничения фоновой активности, когда телефон «лежит на столе». Он поставлялся с Android 6.0 Marshmallow и был разработан для решения одной из самых больших проблем смартфонов: быстрой разрядки батареи, когда вы ими не пользуетесь.
Когда вступает в действие функция Doze, телефон переходит в своего рода режим ожидания. Контролируемый режим гибернации, при котором загрузка процессора, доступ к сети, синхронизация и многие сигналы тревоги практически полностью сокращаются.Идея проста: если пользователь не смотрит в свой телефон, система использует эту возможность, чтобы как можно дольше поспать.
Эта функция совершенствовалась с каждой версией Android. В Marshmallow для её работы требовалось, чтобы телефон был... Тем не менее, при выключенном экране и без зарядного устройства. Для активации. Начиная с Android 7.0 Nougat появилась функция «легкого режима Doze», которая активируется простым выключением экрана, даже если вы двигаетесь.
В повседневном использовании Doze — это тот «тихий герой», которого вы не увидите ни в одном меню с громоздким названием, но который... Это определяет, доживёте ли вы до конца дня или придётся терпеть несколько лишних часов. при той же нагрузке.
Как работает Doze: циклы работы подвески и периоды технического обслуживания.
Поведение Дозе основано на повторяющемся цикле: длительные периоды глубокого простоя, прерываемые короткими окнами технического обслуживания.В эти периоды Android «открывает свои двери» и позволяет приложениям выполнять незавершенную работу.
При активации спящего режима (выключение экрана, отсутствие зарядного устройства и, в режиме полной готовности Doze, отсутствие значительных движений) система переходит в состояние приостановки, в котором Это существенно ограничивает доступ к сети, откладывает обычные оповещения и останавливает запланированные синхронизации и задачи.Всё, что может подождать, ждёт.
Время от времени устройство ненадолго выходит из этого состояния подвески и переходит в другое. период технического обслуживанияВ этот момент приложения могут:
- Запуск отложенной синхронизации (например, загрузка ожидающих обработки фотографий или обновление баз данных).
- Выполнение запланированных задач с помощью JobScheduler или других планировщиков.
- Устраните причины задержки срабатывания сигнализации. пока функция Doze была активна.
- Воспользуйтесь возможностью кратковременного доступа к сети. отправлять и получать данные.
Интересно то, что Android движется постепенно увеличивая периоды отдыха между плановыми техническими обслуживаниями.Чем дольше телефон не используется, тем больше времени он проводит в спящем режиме и тем меньше времени активен, в конечном итоге достигая интервалов в несколько часов в режиме полной готовности (Doze).
Устройство продолжает отслеживать движение с помощью Детектор значимого движения (SMD) Когда устройство находится в режиме Doze. Как только оно обнаружит, что вы его взяли в руки, переместили или снова включили экран, оно выйдет из режима Doze. Возобновляется нормальная работа всех приложений.
Требования к оборудованию и сервису для корректной работы функции Doze
Для того чтобы Doze задействовал все свои оптимизации, устройство должно обладать определёнными элементами как на аппаратном уровне, так и на уровне системных служб. Это важно для разработчиков, но также помогает понять, почему это необходимо. Не все мобильные телефоны реализуют режим Doze одинаково..
Во-первых, Android нуждается в облачном сервисе обмена сообщениями, таком как... Обмен сообщениями Firebase Cloud (FCM)Это позволяет получать push-уведомления даже в режиме ожидания системы. Эти сообщения могут служить внешними триггерами, запускающими работу приложений... короткий промежуток времени для работы в режиме Doze.без полного отключения режима энергосбережения.
Кроме того, для полного режима Doze (требующего неподвижного положения мобильного устройства) требуется... значимый датчик движения (SENSOR_TYPE_SIGNIFICANT_MOTION, SMD)Этот датчик позволяет системе определить, действительно ли устройство неподвижно находится на столе или прикроватной тумбочке.
Когда мобильный телефон соответствует этим требованиям и Режим Doze включен.:
- Доступен для SMD-монтажаВ этом случае активируются все оптимизации Doze (включая облегченные).
- без SMDПрименяется только лёгкий режим Doze, активирующийся при выключенном экране, но не глубокий режим, основанный на неподвижности.
На системном уровне производители часто обозначают определенные услуги как Дозировка не требуется (телефония, SMS/MMS, критически важные системные службы и т. д.), чтобы они продолжали функционировать даже в «спящем» режиме устройства. Кроме того, пользователь может вручную удалить определенные приложения из этих оптимизаций, хотя это, очевидно, повлияет на время работы батареи.
Жизненный цикл режима Doze: когда он включается и когда выключается.
Жизненный цикл Doze можно описать как путь, который проходит устройство от состояния активности до перехода в спящий режим и повторной активации. Для того чтобы система посчитала устройство неактивным и запустила Doze, должен быть выполнен ряд условий. условия входа.
В классическом режиме Deep Doze платформа проверяет в основном две вещи: что Экран остается выключенным в течение определенного времени, и устройство находится в неподвижном состоянии.Если же устройство не подключено к зарядному устройству, создаются идеальные условия для того, чтобы система начала применять ограничения на использование батареи.
Очень важно знать, что Режим Doze не срабатывает во время зарядки мобильного телефона.Если устройство подключено к сети, система понимает, что приоритет отдается не столько экономии заряда батареи, сколько поддержанию полноценного пользовательского опыта и активной синхронизации.
к выйти ДозеAndroid отслеживает несколько критериев завершения. Он отключается, как только обнаруживает:
- Прямое взаимодействие с пользователем (Прикоснитесь к экрану, нажмите кнопки, разблокируйте мобильный телефон).
- Заметное движение устройства согласно показаниям датчиков.
- Включение экранадаже если это просто для того, чтобы посмотреть уведомления.
- Скоро сработает будильник Запрограммирован с функцией будильника.
Сами уведомления, если они не активируют экран и не предполагают взаимодействия с пользователем, Они не удаляют устройство Doze.Они накапливаются и отображаются, когда система переходит в период технического обслуживания или когда пользователь снова берет в руки мобильный телефон.
Ограничения в режиме Doze и отличия от режима Light Doze.
В режиме Doze Android применяет широкий набор ограничений для снижения энергопотребления. Эти ограничения будут различаться в зависимости от... Полная дюжина или Режим «Светлая сонливость» (представлено в Android 7.0), но их объединяет основная идея: предотвратить создание приложениями чрезмерного «шума» в фоновом режиме.
В режиме максимальной интенсивности Doze система накладывает очень жесткие ограничения:
- Приложениям недоступна сеть. в периоды приостановки, за исключением очень специфических случаев (например, push-уведомления с высоким приоритетом).
- Блокировки пробуждения приложений игнорируются.предотвращая ненужное поддержание работы процессора.
- Обычные сигналы тревоги откладываются.за исключением будильников или будильников, созданных с использованием
setAndAllowWhileIdle()osetExactAndAllowWhileIdle()которые имеют ограничения по частоте для каждого приложения. - Сканирование Wi-Fi или поиск в сети не выполняются. пока сохраняется глубокая амортизация.
- Синхронизация и задачи SyncAdapter планируются с помощью JobScheduler Они отложены до следующего планового технического обслуживания.
- Приложения для обработки SMS и MMS Их временно вносят в список разрешенных отправителей, чтобы они могли обрабатывать сообщения даже в режиме Doze.
В режиме Doze, который активируется сразу после выключения экрана, даже если телефон перемещается, действуют ограничения. Они несколько мягче.но они остаются актуальными:
- Для фоновых задач отсутствует неограниченный доступ к сети.за исключением периодов технического обслуживания.
- Задачи, синхронизация и фоновая работа различаются, хотя и менее строго..
- Можно получать сообщения в режиме реального времени (звонки, мгновенные сообщения и т. д.).особенно если они используют сообщения с высоким приоритетом через FCM для временной повторной активации сети.
Концептуальная таблица будет выглядеть примерно так: в режиме Doze телефон ведет себя почти так, как если бы он был выключен, позволяя только... приоритетные push-уведомления и критически важные задачиВ режиме Doze Light связь поддерживается на более высоком уровне, но при этом ограничивается большая часть некритичного трафика.
Взаимосвязь между режимами Doze, App Standby и управлением неактивными приложениями.
Режим Doze не одинок в борьбе за время автономной работы. Android включает в себя еще одну важную функцию, называемую В режиме ожидания приложениекоторая отслеживает поведение приложений, которые пользователь некоторое время не открывал или активно не использовал, и помогает выявить... приложения, потребляющие больше всего заряда батареи.
В то время как Doze фокусируется на общее состояние устройстваРежим ожидания приложения фокусируется на индивидуальное поведение каждого приложенияЕсли приложение какое-то время не используется и не соответствует определенным условиям, система помечает его как «неактивное» и ограничивает его доступ к сети в фоновом режиме.
Чтобы предотвратить перевод приложения в режим ожидания (App Standby), должен соответствовать одному из следующих критериев:
- что пользователь открыть его явно в недавний период.
- Иметь процесс на переднем плане (видимая активность или законная фоновая служба, например, воспроизведение музыки или загрузка фотографий).
- Это порождает Видимые уведомления то, что пользователь видит на экране блокировки или в системном трее.
Когда телефон находится в режиме Doze, отображается время, которое он проводит в этом режиме. не учитывается в режиме ожидания приложенияОднако приложения, помеченные как неактивные, могут выполнять обычные действия как минимум один раз в день, даже если устройство длительное время находится в спящем режиме.
Как только вы подключите телефон к розетке, Android Ограничения на использование приложения для лифтов в режиме ожидания и позволяет этим неактивным приложениям восстановить свободный доступ к сети и запускать отложенные задачи и синхронизацию.
Реальный пользовательский опыт: как Doze меняет повседневную жизнь
Помимо технических деталей, чаще всего люди задаются вопросом: Действительно ли эффект Doze заметен при повседневном использовании? В подавляющем большинстве случаев ответ — да, и довольно часто.
На таких устройствах, как старый Nexus 5 или аналогичные модели, многие пользователи сообщали, что после обновления до Android 6.0, Они могли оставлять телефон на столе на всю ночь или на несколько часов, и разряд батареи был минимальным.Если раньше при простое бездействие телефона терялось 10-20 зарядных станций, то после этого частота разрядов значительно снизилась.
Те, кто умеренно пользуется мобильными телефонами, с длительными периодами выключения экрана и стандартным использованием приложений, замечают, что Они могут работать один или два полных дня без подзарядки., когда это было ранее немыслимо, и это стоит продолжать. Советы по продлению срока службы батареиОднако пользователи, которые очень интенсивно используют экран, практически не замечают разницы, поскольку режим Doze практически не срабатывает во время непрерывного взаимодействия с сайтом.
Недостаток заключается в том, что на некоторых телефонах и конфигурациях режим Doze может вызывать Уведомления от таких приложений, как Facebook, Gmail или мессенджеры, приходят с задержкой.Например, вы находитесь на работе и какое-то время не получаете никаких уведомлений, а затем, когда берете телефон в руки или приходите домой, внезапно получаете поток уведомлений, которые должны были прийти раньше.
В этих случаях вы можете выбрать Исключить определенные приложения из оптимизации батареи Это позволяет им поддерживать более оперативное реагирование, предполагая при этом несколько большее энергопотребление. Это баланс между временем автономной работы и "мгновенностью" уведомлений.
Как отключить Doze для определенных приложений в настройках Android
Если у вас есть критически важное приложение (например, система обмена сообщениями на работе), и вы не хотите, чтобы Doze замедлял его работу, Вы можете удалить его из списка оптимизированных параметров батареи. Без полного отключения режима Doze. Процесс может немного отличаться в зависимости от выбранного слоя настроек, но в целом он аналогичен.
типичные шаги Чтобы отключить режим Doze в приложении, необходимо:
- Посещать Настройки > Приложения и уведомления. (или аналогичное меню на вашем мобильном устройстве).
- Нажмите на Посмотреть все приложения Если вы не нашли интересующий вас вариант в последнем списке.
- Выберите приложение (например, WhatsApp, Gmail, Facebook и т. д.).
- В разделе сведений о приложении перейдите в соответствующую секцию. Аккумулятор (Возможно, это находится в разделе «Расширенные настройки» или аналогичном).
- Нажмите на Оптимизация батареи.
- Измените отображение с «Неоптимизированные приложения» на «Все приложения» чтобы увидеть полный список.
- Найдите нужное приложение и нажмите на него.
- Выберите опцию «Не оптимизируйте» и подтвердите, нажав «Принять» или «Готово».
С этого момента Android перестанет применять ограничения Doze к этому конкретному приложению (по крайней мере, в отношении стандартной оптимизации батареи). Важно не злоупотреблять этой опцией и использовать её только для... несколько приложений, которым это действительно необходимоПотому что если исключить слишком много факторов, улучшение автономности значительно снизится.