Как сделать лучший сервис по обновлению данных по экономии заряда батареи для приложения Android - PullRequest
0 голосов
/ 16 февраля 2011

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

Мой вопрос таков:

  • Я хочу знать, когда приложение (не определенное действие) переходит в фоновый режим, например, пользователь нажал кнопку «Домой», в этом случае я хочу приостановить службу, чтобы сэкономить заряд батареи.
  • Я хочу знать, когда телефон спит (экран затемнен), в этом случае я бы тоже хотел приостановить обслуживание.

Есть идеи?

1 Ответ

0 голосов
/ 16 февраля 2011
  1. Приостановить службу в onPause (и возобновить в onResume).
  2. Если у вас нет блокировки пробуждения, ваше приложение не будет работать, когда телефон спит.
  3. Если вы привязаны к приложению переднего плана, зачем вообще использовать сервис?

Для уточнения 1: я понимаю, что вы говорите «приложение», а не «конкретное действие», но лучше всего использовать Activity.onPause и Activity.onResume. Во всяком случае, вы можете добавить небольшую задержку, чтобы ничего не происходило, если onPause немедленно сопровождается onResume.

...