Эффективность регулярных пробуждений (Будильник) по сравнению с бодрствованием (WakeLocks)

Я хочу принимать соединения Bluetooth (даже при выключенном экране) для создания мобильной одноранговой сети P2P. Поскольку кажется, что входящие соединения не пробуждают устройство, я думаю, что мне либо понадобится чтобы устройство постоянно бодрствовало с помощью частичного WakeLock (который относительно быстро разряжает батарею) или пробуждало его на короткие промежутки времени для проверки новых подключений.

Теперь у меня вопрос: более эффективно пробуждать устройство через равные промежутки времени или лучше просто держать его в бодрствующем состоянии, потому что переход из режима пробуждения в сон будет потреблять больше энергии, чем просто держать устройство в бодрствующем состоянии все время? Интервалы, о которых я говорю здесь, имеют шкалу от 1 до 10 секунд.

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


person Jan Schejbal    schedule 28.01.2013    source источник


Ответы (1)


Вам нужно протестировать на реальном устройстве, и вы можете получить разные результаты с разными устройствами. Как правило, если вы собираетесь просыпаться каждую секунду, просто держите устройство бодрствующим (вы можете очистить экран, чтобы сэкономить немного энергии). Или вы можете использовать что-то вроде облачных сообщений (GCM), чтобы разбудить устройство, но для этого потребуется отдельный сервер. Пример: устройство1 отправляет на сервер сообщение «Я здесь», сервер отправляет на устройство2 сообщение «устройство1 там, проснись и проверь», устройство1 подключается к устройству2. Это, конечно, может быть лишним для вас :)

person Nikolay Elenkov    schedule 29.01.2013
comment
Я надеялся, что кто-то, имеющий доступ к большему количеству устройств, чем я, уже провел эти измерения или знал, что переход в режим сна/пробуждения занимает около xxxx мс, поэтому все, что ниже, не имеет смысла. О GCM не может быть и речи, так как это система P2P, которая должна работать, когда нет другой сети, но спасибо за предложение. - person Jan Schejbal; 30.01.2013