У меня есть служба, которая порождает поток загрузки, который загружает иногда большие файлы.Я понял, что как только телефон перейдет в спящий режим, поток загрузки значительно замедлится, а затем остановится.
Очевидное лекарство, будильник.Так что я думаю, что было бы неплохо получить частичную блокировку_запуска, просто чтобы процессор обрабатывал загрузку.Это не работает, однако, такое же поведение, загрузка замедляется, а затем останавливается, когда экран выключается.
Затем я попробовал screen_dim_wake_lock.На этот раз экран оставался включенным (затемненным), и загрузка продолжала работать на полной скорости, пока он не был завершен, wakelock отключен, а затем телефон отключился.
Мой вопрос: почему я не могу поддерживать поток, когдаудерживать частичную блокировку так же, как и во время блокировки экрана?Есть ли какое-то недокументированное поведение о разнице между этими двумя?Возможно, это из-за того, что я не работаю в потоке пользовательского интерфейса?
РЕДАКТИРОВАТЬ:
Я добавил вайфлок.Wi-Fi не идет спать, но моя нить все еще умирает.Если какой-либо другой процесс пробуждает систему, загрузка будет продолжаться с нормальной скоростью, а затем снова замедляется.Если я просыпаюсь, телефон будет работать с нормальной скоростью, а затем снова замедлится, когда экран погаснет.Кажется, что поток выталкивается в фон системой.Интересно, смогу ли я предотвратить это?