Android график действий - PullRequest
       7

Android график действий

15 голосов
/ 25 февраля 2010

Чтобы выполнить какое-то действие, я обнаружил, что есть несколько вариантов:

  1. использовать AlarmManager
  2. использовать ScheduledExecutorService
  3. использовать метод обработчика postDelayed

В чем большая разница от всего этого? Какова наилучшая практика составления графика действий?

Ответы [ 2 ]

16 голосов
/ 25 февраля 2010
  1. AlarmManager - это глобальный «Таймер», этот человек может разбудить ваше приложение, даже если оно не было запущено. Тяжелый парень.
  2. ScheduledExecutorService: стандартный Java-способ выполнения некоторых запланированных задач, используемый в JSE, простой и знакомый для Java-разработчиков. Задание будет выполнено в потоке, отличном от пользовательского интерфейса или потока, который запланировал это задание. Хорошо подходит для служб, не связанных с пользовательским интерфейсом, и для обработки длинных и тяжелых вещей.
  3. Handler: Android-способ планирования задания, задание выполняется в потоке пользовательского интерфейса (если обработчик был создан в пользовательском интерфейсе), поэтому процесс не может быть очень тяжелым или просто заморозит ваш пользовательский интерфейс.
6 голосов
/ 25 февраля 2010

AlarmManager не зависит от вашего приложения и гарантирует выполнение задачи.
Два других запускаются как часть Activity / Service с соответствующими ограничениями жизненного цикла (например, могут быть убиты в любое время).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...