Сервис уходит в паузу при блокировке телефона
Re: Сервис уходит в паузу при блокировке телефона
а как же осуществляется длительная загрузка контента в программах? как идёт непрерывное http соединение? все они через сервис работают. или я чего то не понял? ведь у них же приложения не прерывается если телефон блокируется...
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Сервис уходит в паузу при блокировке телефона
Они работают через сервис, но при длительной операции запрещают процессору уходить в сон. Например у меня аларм вызывается с использованием в ключе _WAKEUP, что пробуждает процессор, и моему сервису хватает времени пока ЦП не заснул сделать все операции. Если будет не хватать, то я дополнительно в сервисе на время операции заблокирую возможность ЦП заснуть.
Re: Сервис уходит в паузу при блокировке телефона
а не чревато последствиями так делать? JVM может килнуть такой процесс. например при не хватки памяти.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Сервис уходит в паузу при блокировке телефона
А как ты заблокируешь процессор, вернее в какой точке, если сервис встает в паузу в onStartCommand...т.е. аларм разбудил проц, начал передачу данных в сервис (просто пнул сервис), а сервис успел заснуть...где ставить wakelock.aciqure? Сразу за onStartCommand - нельзя, т.к. может заснуть не дойдя ДО него...neoksi писал(а):Они работают через сервис, но при длительной операции запрещают процессору уходить в сон. Например у меня аларм вызывается с использованием в ключе _WAKEUP, что пробуждает процессор, и моему сервису хватает времени пока ЦП не заснул сделать все операции. Если будет не хватать, то я дополнительно в сервисе на время операции заблокирую возможность ЦП заснуть.
Re: Сервис уходит в паузу при блокировке телефона
rezak90
Все может быть, но пока код оптимален и срабатывает за секунды.
А вообще нужно тестировать приложение на реальных устройствах, если сервис в фореграунд не отправить, то его в любой момент могут без предупреждения кильнуть, даже когда памяти хватает.
Все может быть, но пока код оптимален и срабатывает за секунды.
А вообще нужно тестировать приложение на реальных устройствах, если сервис в фореграунд не отправить, то его в любой момент могут без предупреждения кильнуть, даже когда памяти хватает.
Re: Сервис уходит в паузу при блокировке телефона
В таком случае я заблокирую процессор непосредственно в BroadcastReciver, а в сервис отправлю ссылку на блокировку. В самом сервисе по завершении буду проверять не пуста ли ссылка и снимать блокировку.powercat писал(а):А как ты заблокируешь процессор, вернее в какой точке, если сервис встает в паузу в onStartCommand...т.е. аларм разбудил проц, начал передачу данных в сервис (просто пнул сервис), а сервис успел заснуть...где ставить wakelock.aciqure? Сразу за onStartCommand - нельзя, т.к. может заснуть не дойдя ДО него...neoksi писал(а):Они работают через сервис, но при длительной операции запрещают процессору уходить в сон. Например у меня аларм вызывается с использованием в ключе _WAKEUP, что пробуждает процессор, и моему сервису хватает времени пока ЦП не заснул сделать все операции. Если будет не хватать, то я дополнительно в сервисе на время операции заблокирую возможность ЦП заснуть.
П.С. Но у меня такой проблемы нет, так как сервис в фореграунде крутится, чтоб его не кильнуло. Туда его запихнул, так как не мог отловить момент килла, чтоб сохранить данные, плюс в нем я храню все статичные и динамические переменные программы, чтоб их каждый раз не читать. Я как бы сервис превратил в ядро всей программы.
Re: Сервис уходит в паузу при блокировке телефона
В фореграунде - подразумеваешь, что запрет убивания?
Re: Сервис уходит в паузу при блокировке телефона
Ну да, это повышает приоритет и запрещает убивать, побочным явлением является необходимость держать иконку в трее.powercat писал(а):В фореграунде - подразумеваешь, что запрет убивания?