Какой из них выбрать для фоновой задачи - таймер с повторной задачей или сервис с циклом? - PullRequest
1 голос
/ 18 февраля 2012

У меня есть повторное задание (задание A), которое нужно выполнить, когда я получаю трансляцию в своем приложении. Мне нужно знать, какой из этих вариантов лучше для выполнения повторного задания?

  1. Таймер в автономном классе и многократно ли Задание А по истечении таймера?
  2. Фоновый сервис Android, выполняющий задачу A.

каковы плюсы и минусы при выборе вышеуказанных методов?

1 Ответ

1 голос
/ 18 февраля 2012

Каковы плюсы и минусы в выборе вышеуказанных методов?

Вы, похоже, предполагаете, что все возможные реализации «Задачи А» созданы равными.Вы также, кажется, предполагаете, что все периоды (от одной миллисекунды до одного столетия) созданы равными.Ни то, ни другое не соответствует действительности.

Невозможно ответить на ваш вопрос в аннотации, и потребуется всего несколько десятков страниц, чтобы объяснить все возможности.

Моя задача должнаобновить местоположение до моей переменной класса java, которая не является активностью и должна обновляться до веб-сервера с использованием HTTPS

Если вам необходимо периодически обновлять веб-сервер с указанием местоположения устройства, и период опросаразумно (например, каждые 30 минут), ваш лучший вариант - использовать AlarmManager и Service.Я написал LocationPoller, который был разработан для этого сценария, который другой разработчик улучшил до .Просто имейте в виду, что в любой момент времени невозможно определить местоположение устройства, поэтому вам нужен механизм «тайм-аута» на случай, если вы не сможете найти это местоположение, так как при поиске местоположения сохраняются процессор (и GPS-радио,при необходимости) включен.LocationPoller имеет такой «тайм-аут».

...