Я знаю, что многие приложения (например, приложения для обмена сообщениями, например WhatsApp или Facebook) каждые 30 секунд запрашивают у сервера push-уведомления.
Я знаю, что 3G имеет много состояний, при загрузке данных потребление увеличивается , а когда оно не используется (в простое), оно меньше.
Поскольку приложения не синхронизируются друг с другом, запрос от приложения может быть отправлен, когда 3G просто переходит в состояние ожидания.
Поэтому мне было интересно, что более неудобно: отключить 3g, а затем повторно активировать его, например, через 5 минут (чтобы приложения могли загружать push-уведомления) или просто оставить его включенным и позволить приложениям использовать его при необходимости?
Я знаю о cDroid , который является облачным Android, и одной из их функций, конечно же, является синхронизация загрузки с push-уведомлениями.
Спасибо за ответы!
Приложениям, которые используют push-уведомления , например официальному приложению Facebook или Google+ Hangouts, не нужно постоянно проверять наличие новых сообщений. Сервер отправляет новые сообщения на телефон, когда они приходят, без запроса. Мой ответ на вопрос «Как работают push-уведомления?» описывает это более подробно.
То, о чем вы спрашиваете, — это приложения, которые запрашивают обновления, такие как почтовые клиенты (при получении электронной почты с сервера, который не поддерживает push) или некоторые виды чтения RSS. Если в приложении есть параметр «Синхронизировать каждые...» с такими параметрами, как «Каждые 15 минут», значит, оно использует опрос. Такой опрос обычно потребляет больше энергии, чем push-уведомления, но не по той причине, которую вы описываете в вопросе. На самом деле, Android уже предоставляет приложениям возможность синхронизировать свои опросы, чтобы телефон просыпался только один раз. Все приложения, ожидающие сигнала тревоги, будут обновляться одновременно, чтобы снизить энергопотребление.
Подключение к 3G после того, как оно было полностью отключено пользователем, потребляет даже больше энергии, чем его пробуждение из режима ожидания, поэтому повторное отключение и включение вручную несколько раз в час почти наверняка потребует больше энергии, чем то, что Android делает автоматически. Исключением может быть, если у вас есть одно некорректно работающее приложение, которое на самом деле проверяет наличие обновлений каждые несколько секунд, но, поскольку Android упрощает авторам приложений использование push-уведомлений или эффективный опрос, такая ошибка очень опасна. редкий.
Отключение 3g и повторная активация позже будут потреблять меньше энергии, так как все данные могут быть получены, когда радио 3g находится в состоянии высокой мощности.
Когда он остается бездействующим, даже для самых тривиальных передач данных, таких как проверка погоды, один и тот же цикл должен повторяться. Из-за длительного времени хвоста, которое удерживает устройство в режиме питания, передача данных в виде серии небольших пакетов данных занимает гораздо больше времени и требует гораздо большего заряда батареи, чем для отправки одного большого пакета.
Федерико Понци
Дэн Халм