Как режим ожидания влияет на фоновые / передние службы, с / без частичных / полных wakelocks?

Это простой вопрос, так как на G+ ( здесь) есть огромный пост об этом, а в официальных документах нет информации ( здесь):

Что происходит со службами приложения, когда устройство переходит в режим ожидания?

Что это делает с фоновыми / приоритетными службами (связанные / не связанные, запущенные / не запущенные), с / без частичных / полных пробуждений?

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

Видя, что разработчик Google подал заявку:

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

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

1 ответ

Решение

Предполагается, что Doze не затрагивает процессы с текущим запущенным сервисом переднего плана. Связанный / несвязанный, запущенный / не запущенный, и блокировка wakelocks не влияют на этот процесс внесения в белый список.

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

Исправление доступно в AOSP и будет включено в сборки Android N. Это будет зависеть от OEM-производителей, чтобы интегрировать этот патч в любые сборки Android M, которые они производят.

Другие вопросы по тегам