Энергопотребление android-приложений

Содержание:

Режимы энергосбережения Android

В Android 4.4–5.1 (версии ниже мы рассматривать не будем — они стремительно устаревают) служба будет работать и моментально откликаться на запросы сервера, но только до тех пор, пока экран включен. Через несколько секунд после отключения экрана смартфон перейдет в режим сна (suspend), и промежуток между отправкой запроса и ответом нашего приложения будет составлять примерно минуту. Это срок между maintenance-пробуждениями устройства, и повлиять на него мы не можем.

В Android 6.0–7.1 ситуация будет примерно такой же, однако спустя примерно час смартфон перейдет в так называемый режим Doze. После этого ответ от приложения можно либо не получить вовсе, либо получить спустя час или два. А все потому, что в режиме Doze смартфон фактически не дает работать сторонним приложениям и их службам и полностью отрезает им доступ в Сеть. Управление они могут получить только на короткий промежуток времени спустя час после перехода в режим Doze, затем два часа, четыре часа, со все большим увеличением промежутков между пробуждениями.

Хорошие новости в том, что Doze работает общесистемно и включается спустя час после отключения экрана и только если не трогать смартфон (в 7.0–7.1 можно и трогать), а отключается сразу после разблокировки смартфона, подсоединения к заряднику или движения смартфона (опять же не в 7.0–7.1). То есть можно надеяться на то, что хотя бы днем наш сервис будет работать нормально.

Плохие же новости в том, что, помимо Doze, в Android 6.0–7.1 есть и другой механизм энергосбережения под названием App Standby. Работает он примерно так: система следит за тем, какие приложения использует юзер, и применяет к редко используемым приложениям те же ограничения, что и в случае с режимом Doze. При подключении к заряднику все переведенные в режим Standby приложения получают амнистию. К приложениям, имеющим уведомление или права администратора (не root), режим Standby не применяется.

Итого, в Android есть сразу три механизма, с которыми придется бороться:

  • Suspend — обычный режим энергосбережения, может замедлить получение ответа от устройства примерно на одну минуту;
  • App Standby — агрессивный режим энергосбережения, способный замедлить получение ответа на сутки;
  • Doze — агрессивный общесистемный режим энергосбережения, который применяется ко всем приложениям.

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

Как удалить App Permissions

Чтобы найти свои приложения и их разрешения на Android, откройте «Настройки», а затем нажмите «Приложения и уведомления», «Информация о приложении» и выберите интересующее вас приложение. Выберите пункт «Разрешения», чтобы просмотреть, какими из них обладает приложение. Вы можете отключить любое из них в любое время, передвинув переключатель рядом с этой записью. Другой вариант – просматривать по разрешению, а не по приложению. Откройте «Настройки» и перейдите в раздел «Приложения и уведомления», как и в предыдущем случае. Но на этот раз выберите «Разрешения приложения». Откроется список разрешений, который включает датчики, календарь, камеру, контакты, местоположение, микрофон, SMS, память, телефон и многое другое. Нажмите любую запись, чтобы увидеть, какие приложения могут получить доступ к этой функции. Здесь также с помощью переключателей можно убрать любые настройки. Прежде чем начинать отключать разрешения, помните, что для выполнения своей работы некоторые приложения полагаются на этот доступ. Например, если приложение может просматривать ваши контакты, оно использует их, чтобы помочь вам обмениваться контентом, файлами или приглашать друзей на мероприятия, а не собирать ваши данные для получения прибыли.

Разрешения при загрузке софта

Когда вы загружаете программы из Play Store, некоторые из них перед установкой запрашивают разрешение на использование информации. При загрузке приложений, созданных для Android 6.0 и более поздних версий, вы можете предоставить или запретить разрешения непосредственно во время установки. Чтобы просмотреть разрешения той или иной утилиты перед установкой, сделайте следующее:

  1. Откройте приложение Play Store.
  2. Перейти на страницу сведений о приложении. Чтобы просмотреть разрешения перед установкой, пролистайте до раздела «Разработчик» и нажмите «Сведения о разрешениях».
  3. Нажмите «Установить».

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

Если приложение уже установлено

Для приложений, созданных для Android 6.0 и выше, просматривать или принимать изменения разрешений при каждом обновлении не нужно. Достаточно указать необходимые права при первом запуске программы. Если при обновлении приложению требуется доступ к новым группам разрешений или разрешениям в группе «Другие», вам будет предложено заново подтвердить решение, даже если вы настроили автоматические обновления. Если вы предпочитаете просматривать каждое обновление вручную, вы можете отключить автоматическое обновление, следуя приведённым ниже инструкциям:

  1. Откройте приложение Play Store.
  2. Нажмите кнопку Меню – Мои приложения и игры – Установленные.
  3. Выберите приложение.
  4. Нажмите Больше (вертикальная линия из 3-х точек).
  5. Снимите флажок «Автообновление», если он ещё не снят.

Чтобы отключить автообновление для всех приложений:

  1. Откройте приложение Play Store.
  2. Нажмите кнопку Меню – Настройки – Автообновление приложений – Никогда не обновлять автоматически.

Есть также много других, менее подозрительных разрешений. Приложение, которое делает снимки, должно контролировать ваше оборудование. Netflix должен держать ваш экран активным в течение всего времени, пока вы его не касаетесь. Виджет профиля звонков нуждается в доступе к вашим настройкам. Разобраться с разрешением, которое кажется неуместным, обычно помогает немного логики. Если нет, то читайте комментарии в Google Play и задавайте вопросы на форумах. Большинство приложений в Google Play не могут украсть ваши данные или ваши деньги. Помните, что большинство людей, пишущих приложения, просто хотят заработать немного денег или делают это ради удовольствия. Приложений, которые существуют для обработки ваших данных, не так много. Но иногда разработчики допускают ошибку – нетрудно заставить Android запрашивать разрешение, которое не используется приложением, и легко игнорировать эти ошибки при их создании.

What does Doze do?

So now that we have covered when Deep-Doze and Light-Doze come into effect, we need to take a look at the actual limitations it places on apps in the device. Light-Doze behaviors are a subset of Deep-Doze behaviors— network access is cut off for all applications and Jobs will be deferred from JobScheduler and Syncs from Sync-Adapters.

These restrictions are lifted when maintenance mode begins, and any deferred Jobs and Syncs will be started at that point. If you are using AlarmManager for your recurring background work those will continue to kick off, but it is important to note that you will not have network access in that time. If this is a deal breaker for you, it might be time to migrate your background work into JobScheduler so that you only start up when the network is available in the maintenance windows.

When the device enters Deep-Doze Mode, a couple of additional restrictions are applied. AlarmManager alarms will be deferred just like Jobs and Syncs are in Light-Doze—held onto until thedevice goes into a maintenance window or exits Doze entirely. The operating system will also ignore any wakelocks attempted by the application, which means work must be completed within the maintenance window as your wakelock will ignored when it jumps back into Doze. Finally, Deep-Doze will also stop the system from making Wifi and GPS scans, reducing location events from the device detecting WiFi hotspots.

Фоновые оптимизации.

Ограничения, начиная с Android 7:

  • Не отправляются широковещательные сообщения `CONNECTIVITY_ACTION`, если receiver объявлен в манифесте. Если receiver зарегистрирован динамически, то сообщение будет получено.
  • Приложения не могут получать или отправлять `ACTION_NEW_PICTURE` или `ACTION_NEW_VIDEO`.

Ограничения, начиная с Android 9:

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

  • Чрезмерные wake locks.
  • Избыточное количество фоновых сервисов.

Точные ограничения определяются производителем устройства.

Правда

1. Если убавить подсветку экрана, заряд батареи сохранится дольше

Это действительно так, но только для телефонов с LCD-дисплеем. Весь секрет в самом устройстве дисплея. В таких, жидкокристаллических, пиксели подсвечиваются вне зависимости от того, какого они цвета. А вот в OLED-дисплеях светятся сами пиксели. В случае с черным цветом, подсветка пикселя просто выключается. Поэтому для владельцев смартфонов с LCD-дисплеем имеет смысл убавлять яркость экрана, а с OLED-дисплеем — поставить на фон темную картинку.

2. GPS, Bluetooth и Wi-Fi очень быстро расходуют заряд батареи

Фото: Nick Collins/pexels.com

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

Такая же история и с Wi-Fi. Вдали от роутера телефон все равно будет пытаться найти источник интернета. А на это уходит слишком много ресурсом. Поэтому главный принцип: не пользуешься — отключи.

3. Вибрацию на телефоне лучше отключить

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

4. Слишком низкие и высокие температуры портят батарею

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

Гораздо страшнее для смартфонов высокие температуры. При нагревании аккумулятор начинает портиться, и со временем его объем станет меньше.

5. Лучше отключить ненужные уведомления от приложений

Фото: tomecwalecki/pixabay.com

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

6. Со временем объем батареи становится меньше

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

Ранее мы рассказывали про три главные ошибки при зарядке смартфона, которые ведут к его поломке. 

По материалам lifehacker.ru.

Сценарий 1. Небольшая задержка в ответе некритична, переход в Doze некритичен

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

Два самых простых способа добиться этого — либо вывести службу на передний план (foreground service), либо дать приложению права администратора устройства. Начнем с первого варианта.

Foreground service

Foreground service в терминологии Android — это служба, которая имеет уведомление в шторке. Система относится к таким службам гораздо бережнее. Например, при нехватке памяти она будет убита в последнюю очередь, она не будет убита при смахивании приложения в меню управления запущенными приложениями, и да, к ней не будет применен режим Standby.

Создать foreground service очень просто. Достаточно вставить в код службы примерно такие строки:

Этот пример создает уведомление, при тапе на которое будет запущена ExampleActivity, в конце с помощью startForeground() служба переводится в статус foreground.

Права администратора

Другой вариант — это дать приложению права администратора. Такие права обеспечивают возможность управлять политикой формирования паролей экрана блокировки, делать удаленную блокировку и вайп устройства.

В свое время Google ввела понятие «администратор устройства» для компаний, которые хотели бы управлять смартфонами своих сотрудников. То есть компания создает приложение, которое получает права администратора и может заблокировать или сбросить телефон после команды от сервера. Именно поэтому приложение с правами администратора не переходит в режим Standby, ведь команда на блокировку может прийти в любой момент.

Получить, а точнее запросить права администратора опять же просто. Для начала нам понадобится пара колбэков, которые будут вызваны после того, как права получены или отозваны:

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

В чем проблема?

Когда Google заявляет, что после обновления до Android 6.0 жизнь Nexus 7 продлевается на пять часов, верится с трудом. Уж слишком фантастическая цифра. Однако если разобраться в том, как работает Doze, то все встанет на свои места. Дело в том, что Doze — это не какая-то навороченная технология, а довольно простой механизм, который всего лишь ликвидирует одну из проблем Android, заложенную еще на этапе проектирования операционной системы.

В отличие от со всех сторон обрезанной iOS, Android всегда был операционкой, гораздо более близкой по духу к настольным операционным системам, и одной из его особенностей всегда была полноценная многозадачность. Другими словами, приложения никогда не ограничивались в том, что они делают, пока находятся, так сказать, в свернутом состоянии. Ты мог спокойно запустить обновление списка писем в почтовом приложении, свернуть его и продолжать читать твиттер. Почтовый клиент благополучно загрузит цепочки писем в фоновом режиме и выведет в статусную строку уведомление. Более того, можно не просто свернуть приложение, а вообще выключить экран, и оно все равно сделает свою работу.

С одной стороны, это полезная особенность Android, которая позволяет работать со смартфоном гораздо более эффективно (и это, кстати, очень заметно при переходе с Android на iOS). С другой стороны, очень скоро после появления Android стали заметны серьезные проблемы такого подхода. Многие приложения им просто злоупотребляли, причем вовсе не из-за злого умысла разработчика, а по причине дилетантизма и неумения грамотно писать код. В результате заряд батареи расходовался чересчур быстро.

Долгое время проблему пыталась побороть как сама Google, так и независимые разработчики. В первом случае результатом работы стали разные ухищрения, такие, например, как автоматическое отслеживание работы фоновых сервисов приложений и их убийство при слишком долгой активной работе или слишком высокой нагрузке на процессор (Android 4.4). Во втором случае появились приложения Wakelock Detector и Greenify. Одно показывало, какие приложения не дают процессору уснуть, другое позволяло «заморозить» эти приложения, чтобы они вообще не могли работать в фоне. Для многих любителей ставить на смартфоны сотни приложений эти два инструмента стали спасением.

Wakelock Detector: список жадных до процессора приложений

Однако, кроме root на смартфоне, Wakelock Detector и Greenify требовали также понимать, что ты делаешь, тратить время на поиск жадных до процессора приложений, да и вообще все это грязные хаки. С помощью Doze Google как раз и попыталась избавиться от этих проблем, реализовав полностью автоматический механизм заморозки приложений.

Greenify: выбираем приложения для заморозки 

English[edit]

Etymology 1edit

From Middle English *dosen, from Old Norse (“to doze, rest, remain quiet”), from Proto-Germanic *dusāną (“to be dizzy”), from Proto-Indo-European *dʰews- (“to fly, whirl”), from *dʰew- (“to fly, shake, reek, steam, smolder”). Cognate with German Low German (“to doze”), German (“to doze”), Icelandic (“to doze”), dialectal Swedish (“to doze, slumber”), Danish (“to doze”), Old English (“foolish, stupid”), Scots dosnit (“stunned, stupefied”), Icelandic dúra (“to nap, slumber”), also compare Dutch (“to doze”). More at .

Verbedit

doze (third-person singular simple present , present participle , simple past and past participle )

  1. () To sleep lightly or briefly; to nap, snooze.

    I didn’t sleep very well, but I think I may have dozed a bit.

    1692, Roger L’Estrange, Fables of Æsop and Other Eminent Mythologists
    If he Happen’d to Doze a little no and then in a Morning, the Jolly Cobbler Wak’d him.

  2. () To make dull; to stupefy.

    • 1666, Samuel Pepys, diary dated 13 October, 1666

      I was an hour … in casting up about twenty sums, being dozed with much work.
    • October 29, 1693, Robert South, a sermon preached at Christ-church in Oxford before the university

      They left for a long time (as it were) dozed and benumbed.
  3. (, ) To bulldoze.

(sleep lightly): slumber

Translationsedit

to sleep lightly or briefly

  • Aromanian:
  • Belarusian: драма́ць impf (dramácʹ), падрама́ць pf (padramácʹ), задрама́ць pf (zadramácʹ)
  • Bulgarian:  (bg) (dremja)
  • Crimean Tatar:
  • Czech: dřímat impf
  • Dutch:  (nl)
  • Esperanto:
  • Finnish:  (fi),  (fi) (lightly);  (fi) (briefly)
  • French:  (fr)
  • Galician: durmiñar, dormexar, dormentar,  (gl), trasvaiar, topenear (gl), , cochar, sonetar, ()
  • German:  (de)
  • Greek:  (el) (nystázo)
    Ancient: (nustázō)
  • Ido:  (io),  (io)
  • Indonesian: please add this translation if you can
  • Italian: ,
  • Latin:
  • Luxembourgish:
  • Malay: please add this translation if you can
  • Maori: turehu, kānewha, kānewhanewha, hāmoemoe, newha, nenewha, hāmoemoe, kurehu
  • Norman:
  • Old Church Slavonic: дрѣмати (drěmati)
  • Polish:  (pl) impf, podrzemać pf
  • Portuguese:  (pt), ()
  • Romanian:  (ro),  (ro), a moțăi
  • Russian:  (ru) (dremátʹ), прикорну́ть (ru) pf (prikornútʹ), подрема́ть (ru) pf (podremátʹ),  (ru) pf (zadrematʹ), (poetic)  (ru) impf (grezitʹ)
  • Scots:
  • Scottish Gaelic:
  • Serbo-Croatian:  (sh)
  • Slovak: driemať
  • Sorbian:
    Lower Sorbian: drěmaś impf, pódrěmaś pf
    Upper Sorbian: drěmać impf
  • Spanish:  (es),  (es)
  • Swedish: , dåsa (sv)
  • Ukrainian:  impf (drimáty)
  • Vietnamese: ngủ gật

to make dull; to stupefy

bulldoze — see bulldoze

Nounedit

doze (plural )

  1. A light, short sleep or nap.
    I felt much better after a short doze.
Translationsedit

short sleep or nap

  • Bulgarian:  (bg) f (drjamka)
  • Finnish:  (fi) pl,  (fi) pl
  • Portuguese:  (pt) f,  (pt) m
  • Russian:  (ru) f (drjóma),  (ru) f (grjóza) (poetic, usually in pl.)
  • Scottish Gaelic:  m
  1. .

Тестирование корректности работы приложений в режиме Doze

Вы легко можете оценить корректность работы приложения при запущенной функции Doze, проведя тесты на физическом устройстве или эмуляторе под управлением Android 6.0 (API Level 23) или выше. Просто запустите приложение, оставьте его активным, и выключите экран устройства (убедившись, что приложение остаётся активным). Вам не нужно ждать, пока Doze запустится; вы можете самостоятельно активизировать Doze с помощью командной строки ADB путём ввода двух простых команд:

PowerShell

$ adb shell dumpsys battery unplug
$ adb shell dumpsys deviceidle step

1
2

$adb shell dumpsys battery unplug

$adb shell dumpsys deviceidle step

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

P.S. Проблемы с Samsung

При написании статьи я наткнулся на полезный сайт https://dontkillmyapp.com, на котором можно узнать, какие ограничения накладывают различные производители на энергопотребление устройств. Самой частой проблемой, с которой я сталкивался, была жалоба пользователей Samsung на высокое энергопотребление различными приложениями. И на этом ресурсе я нашел ответ на свой вопрос.

Вместе с релизом Samsung S8 была представлена утилита для увеличения времени работы батареи под названием App Power Monitor. И чтобы приложения работали корректно, их нужно вносить в whitelist. Также Samsung — рекордсмен по убийству приложений благодаря его «Адаптивной батарее».

На сайте есть рекомендации для разработчиков по обходу ограничений, но в случае с данным производителем:

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

Battery Historian

Инструмент Battery Historian дает представление о расходе заряда батареи. Инструмент визуализирует связанные с энергопотреблением события и предоставляет разнообразные данные, которые могут помочь вам определить поведение приложения, разряжающего батарею.

Анализ приложения с помощью Battery Historian

Предварительно необходимо установить Docker.

  • Подключить устройство к ПК.
  • Убить текущий ADB-сервер.
  • Отключить устройство и пройти по выбранному вами сценарию использования приложения.
  • Подключить устройство.
  • Проверить, что устройство подключено:

На этом графике вы можете узнать, в какой момент запустился ваш сервис, установились wake locks, был запущен JobScheduler и другую информацию. Возможно, вы даже узнаете о своем приложении то, чего еще не знали и о чем не подозревали. Уделите этому инструменту пару-тройку свободных часов и гарантирую, вы не пожалеете.

What is Doze Mode?

Doze Mode focuses on improving battery life on Android by cutting down on background network activity when the device is not in use. Background updates by apps are instead grouped into controlled maintenance windows, allowing for data freshness when the user comes back to their phone and exits Doze Mode.

Developers usually have control over opting into changes to the Android operating system by incrementing the target SDK level of their applications. However, in order for Doze to have a real impact on the battery life of the device, Doze Mode changes are applied to all apps regardless of target SDK level. The good news is that if you are using the framework properly there probably won’t be much you will need to change in your application. This blog post will cover when Doze is activated, what restrictions are applied, how to work around Doze (if necessary), and how to test your app for Doze effects.

App StandBy, App StandBy Buckets

App StandBy позволяет системе определить, что приложение простаивает, когда пользователь не пользуется им активно. App StandBy запускается, когда не выполняется ни одно из следующих условий:

  • Пользователь явно запускает приложение.
  • Приложение находится на переднем плане (явно или в качестве Foreground service, либо используется другой Activity).
  • Приложение генерирует уведомления, которые пользователь видит на экране блокировки или в области уведомлений.
  • Приложение является активным приложением администратора устройств.

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

Определение частоты использования отличается у разных производителей, особенно «жестит» Samsung.

В Android 9 появились новые фичи для управления питанием устройства. Они делятся на две категории:

  • . Система ограничивает доступ приложения к ресурсам устройства в зависимости от модели поведения пользователя.
  • . Когда включена функция экономии заряда батареи, система накладывает ограничения на все приложения.

Эти ограничения применяются ко всем приложениям независимо от их .

App StandBy Buckets помогает системе приоритизировать запросы приложений к ресурсам на основании того, как давно и как часто использовалось приложение. На основе шаблонов использования приложение помещается в один из пяти сегментов. Система ограничивает ресурсы устройства, доступные для каждого приложения, в зависимости от того, в каком сегменте находится приложение.

Пять сегментов, назначаемые приложениям в зависимости от приоритета:

  • Active. Приложение находится в активном сегменте, если пользователь в настоящий момент использует приложение. Т.е. если видна Activity, или запущен Foreground service, или есть synchronized adapter, связанный с приложением на переднем плане, или пользователь кликнул на уведомление. Если приложение в активном сегменте, то никакие ограничения на использование ресурсов устройства не накладываются.
  • Working set. Приложение находится в этом сегменте, если часто запускается, но в данный момент не активно. Система накладывает умеренные ограничения на действия этого приложения.
  • Frequent. Приложение находится в этом сегменте, если используется часто, но не каждый день. Система накладывает больше ограничений, также накладываются ограничения на количество сообщений FCM с высоким приоритетом.
  • Rare. Приложение находится в этом сегменте, если оно редко используется. В этом случае система накладывает строгие ограничения и на получение сообщений FCM с высоким приоритетом. Система также ограничивает возможность приложения подключаться к интернету.
  • Never. Это сегмент для приложений, которые были установлены, но никогда не запускались. Система накладывает жесткие ограничения.

Каждый производитель может установить свои критерии присвоения неактивных приложений к сегментам.

Для определения сегмента, в который система поместит приложение, используется машинное обучение. С его помощью прогнозируется поведение пользователя. Например, если приложение из сегмента Rare было только что использовано и перешло в Active, то это не означает, что после использования приложение поднимется в более приоритетный сегмент. Сегменты определяются на основе прогнозов будущих действий пользователя, а не на основе недавнего использования.

Полезная информация по работе с App StandBy Buckets:

  • НЕ пытаться манипулировать тем, к какому сегменту система отнесет приложение.
  • Создать Launcher Activity, если ее нет.
  • Создавать обработчик нажатий на уведомления. Если с ними нельзя взаимодействовать, то приложение не сможет перейти в активный сегмент.
  • Если приложение не показывает пользователю уведомление при получении high-priority FCM-уведомления, то пользователь не сможет взаимодействовать с приложением, и оно не перейдет в активный сегмент. Если многие сообщения будут помечены как high-priority, то приложение исчерпает свою квоту на такие сообщения, и все последующие будут иметь normal-priority.

Что делать, если нет root-прав

Root — штука довольно опасная и далеко не всегда нужная, особенно неопытному пользователю. На самом деле, чем меньше вы лезете в систему, тем лучше будет работать ваш смартфон. Периодически проверяйте свою библиотеку приложений, удаляйте ненужные и избавляйтесь от тех, что потребляют неоправданно много заряда. Вычислить прожорливых подлецов можно с помощью монитора, встроенного в большинство экономайзеров, работающих без root-прав.

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

Еще пара советов…

Напоследок стоит отметить, что перед покупкой нового устройства обращайте внимание на время автономной работы, причем не только на время разговора, но и на время просмотра видео и время просмотра веб-сайтов по сети. У неплохого аппарата на средней яркости должно быть не менее 10 часов работы при включенной сети и синхронизации с аккаунтом Google

Лучшие аппараты могут обеспечить 12–13 часов чтения интернета, а более специализированные вроде Motorola RAZR Maxx, Lenovo P980 или Highscreen Boost 2SE — 16–25 часов. 

Если в вашем устройстве батарея легко заменяется и корпус не монолитный, то при ее замене лучше всего использовать оригинальные аккумуляторы. Они всегда дороже дешевых аналогов, но зато они предлагают оригинальную емкость. А еще оригинальные аккумуляторы дольше прослужат. 

Также стоит отметить, что в операционной системе Android 6.0 Marshmallow компания Google интегрировала специальную технологию Doze, которая призвана свести к минимуму энергопотребление в спящем режиме. Doze не нужно активировать в настройках — эта функция включена всегда. Просто знайте, что на вашем аппарате с «шестеркой» есть специальная технология, которая не позволяет уменьшаться драгоценным процентам заряда, когда устройство долго находится в спящем режиме. 

Doze 1.17
Скачать

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

Материалы по теме:

  • Обзор Xiaomi POCO M2 Pro: клон Redmi Note 9 Pro, только лучше и без рекламы
  • Смартфоны без SIM-карт: когда это случится и каковы плюсы
  • Эволюция геймерских телефонов. От Nokia N-Gage до ASUS ROG Phone
  • ТОП-5 недорогих геймпадов на AliExpress
  • Лучшие геймпады для Android
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector