Частота обновления виджета Android 0, что это на самом деле означает?
Я нашел следующие части кода в виджете:
<appwidget-provider>
android:updatePeriodMillis="0"
<appwidget-provider/>
теперь мой вопрос: что это значит с updatePeriodMillis, установленным в 0.
Я знаю, что он установлен для того, как часто виджет будет получать remoteview или другие. Итак, какое значение имеет установить его в 0.
3 ответов
согласно документации android:
на updatePeriodMillis атрибут определяет, как часто платформа виджетов приложений должна запрашивать обновление от AppWidgetProvider по телефону onUpdate() метод обратного вызова. Фактическое обновление не гарантируется точно по времени с этим значением, и мы предлагаем обновлять как можно реже-возможно, не более одного раза в час, чтобы сохранить батарею. Вы может также позволить пользователю настроить частоту в конфигурации-некоторые люди могут захотеть, чтобы биржевой тикер обновлялся каждые 15 минут или, возможно, только четыре раза в день.
Примечание: если устройство спит, когда пришло время для обновления (как определено updatePeriodMillis), то устройство проснется для выполнения обновления. Если вы не обновляете более одного раза в час, это, вероятно, не вызовет значительных проблем для срока службы батареи. Если, однако, вам нужно обновление чаще и / или вам не нужно обновлять, пока устройство спит, тогда вы можете вместо этого выполнять обновления на основе сигнала тревоги, который не разбудит устройство. Для этого установите будильник с намерением, которое получает ваш AppWidgetProvider, используя AlarmManager. Установите тип сигнала тревоги в ELAPSED_REALTIME или RTC, который будет доставлять сигнал только при пробуждении устройства. Затем установите updatePeriodMillis в ноль ("0").
когда вы устанавливаете updatePeriodMillis в 0, вы фактически отключаете период обновления для этого конкретного виджета. Означает, что это свойство больше не применимо к этому виджету.
согласно разработчикам Android Как часто, в миллисекундах, это AppWidget хочет быть обновленным. Менеджер AppWidget может ограничить частоту обновления AppWidget.
Это поле соответствует атрибуту android: updatePeriodMillis в файле метаданных AppWidget.
Примечание: обновления, запрошенные с updatePeriodMillis, не будут доставляться более одного раза каждые 30 минут.