У меня есть требование, когда мне нужно обновлять мой виджет каждые 15 секунд.
Это будет иметь последствия для вашей батареи.Пожалуйста, сделайте это настраиваемым.
Существует метод с именем android: updatePeriodMillis, но, похоже, он срабатывает только через 30 минут.
Это атрибут XML, а неметод, и да, он имеет минимум 30 минут из-за жалоб на время автономной работы от пользователей, которые устанавливают виджеты приложений, которые обновляются, скажем, каждые 15 секунд.
Когда AlarmManager моего приложенияработает в фоновом режиме. Я мог видеть большую задержку на устройстве, реагирующую на пользовательские события.
Поместите трудоемкую работу в IntentService
, вызванную сигналом тревоги.Если вы выполняете свою работу непосредственно в методе BroadcastReceiver
onReceive()
, он работает с приоритетом переднего плана и будет оказывать большее влияние на загрузку процессора.Кроме того, он связывает основной поток приложения вашего процесса, и поэтому все выполняемые вами действия будут зависать, пока BroadcastReceiver
выполняет свою работу.
Разумно ли иметь виджет, который обновляетчасто?
ИМХО, нет, но если вы сделаете его настраиваемым, то пользователь сможет выбрать, какое значение он считает подходящим.