Когда я должен заботиться о PowerManagement и пробуждении блокировки для службы Android? - PullRequest
0 голосов
/ 31 мая 2010

У меня есть служба Android, которая подключается к удаленному серверу по протоколу TCP / IP и ожидает от него уведомлений. Должен ли я заботиться о PowerManagement ? Может ли спящий режим повлиять на меня как-то?

Если нет, то каковы «варианты использования» для защиты от пробуждения?

1 Ответ

3 голосов
/ 31 мая 2010

Внимание: следующее - грамотное предположение. Ваш километраж может варьироваться.

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

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

И наоборот, то, что вы не хотите делать, - это настроить свой канал сервера таким образом, чтобы постоянно был поток данных. Это будет ударять батарею пользователя не только за счет того, что процессор включен, но и радиосвязи - для 3G подключение к данным не дорого, а отправка / получение данных - это *.

Когда оно появится, посмотрите презентацию Google I | O 2010 на C2DM. В них рассказывалось о значительных возможностях Android и о том, как они должны были их решать для клиентской части C2DM.

...