Как режим doze влияет на услуги фона/переднего плана, с/без частичных/полных wakelocks?
Это простой вопрос, увидев, что в G + ( здесь есть огромная статья), а также отсутствие информации о официальные документы ( здесь):
Что происходит с сервисами приложения, когда устройство переходит в режим "doze"?
Что он делает с услугами background/foreground (связанный/несвязанный, запущенный/не запущенный), с/без частичных/полных wakelocks?
Что бы вы сделали, например, для создания службы, которая воспроизводит аудиопоток, когда экран устройства отключен? Что делать, если аудиопоток не из локального файла, а из сети?
Увидев, что разработчик Google получил заявку:
Приложения, на которых запущены службы переднего плана (с соответствующими уведомление) не ограничены дозой.
- после этого много дискуссий, утверждая, что это не совсем так, я думаю, что довольно сложно понять, какие специальные приложения для фоновых операций должны делать.
Ответы
Ответ 1
Процессы, имеющие текущую работу переднего плана, не должны подвергаться воздействию Doze. Связанные/несвязанные, запущенные/не запущенные и wakelocks не влияют на этот процесс whitelist.
Тем не менее, есть проблема на устройствах Android M, где услуги переднего плана не отображаются в белом списке, если служба переднего плана является тем же процессом, что и верхняя активность и неправильная дремота.
Исправление доступно в AOSP и будет включено в сборки Android N. Для OEM-разработчиков было бы интегрировать этот патч в любой Созданные ими Android M.