http://developer.android.com/reference/android/net/wifi/WifiManager.WifiLock.html

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

Очевидное лекарство, бодрствование. Так что я думаю, что было бы неплохо получить частичную блокировку_запуска, просто чтобы процессор обрабатывал загрузку. Это не работает, однако, такое же поведение, загрузка замедляется, а затем останавливается, когда экран выключается.

Затем я попробовал screen_dim_wake_lock. На этот раз экран остался включенным (затемненным), и загрузка продолжала работать на полной скорости, пока не было сделано, разблокировка активирована, а затем телефон отключился.

У меня вопрос: почему я не могу продолжать работу моего потока, когда удерживаю частичную блокировку так же, как во время screen_dim_wake_lock? Есть ли какое-то недокументированное поведение о разнице между этими двумя? Возможно, это потому, что я не работаю в потоке пользовательского интерфейса?

РЕДАКТИРОВАТЬ:

Я добавил вайфлок. Wi-Fi не идет спать, но моя нить все еще умирает. Если какой-либо другой процесс пробуждает систему, загрузка будет продолжаться с нормальной скоростью, а затем снова замедляется. Если я просыпаюсь, телефон будет работать с нормальной скоростью, а затем снова замедлится, когда экран погаснет. Кажется, что поток выталкивается в фон системой. Интересно, смогу ли я предотвратить это?

Ответы на вопрос(2)

Ваш ответ на вопрос