Главная » Разработка для Android » Обновление ваших виджетов

0

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

В следующих разделах описано несколько  методик управления интер- валами обновления для виджетов.

Использование минимальной частоты обновления

Самый простой, но наиболее ресурсоемкий метод заключается в опреде- лении минимальной частоты виджета, которая описывается в файле фор- мата XML, как показано в листинге 10.12 (обновление виджета происходит каждый час):

Листинг 10.12. Установка  минимальной частоты обновления для виджета

<?xml version="1.0" encoding="utf-8"?>

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:initialLayout="@layout/my_widget_layout" android:minWidth="146dp"

android:minHeight="146dp" android:label="My App Widget" android:updatePeriodMillis="3600000"

/>

Установка  этого значения  приведет к тому, что устройство  будет пере- давать с указанной частотой объект Intent, вызывающий обновление вашего виджета.

ПРИМЕЧАНИЕ

Чтобы завершить эти обновления, устройство будет выведено из режима ожидания. Это значит, что обновления завершатся даже тогда, когда аппарат бездействует. Потенциально это может привести к перерасходу ценных ресурсов, поэтому важно учитывать последствия, к которым может привести такой подход.

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

Если ваш виджет нуждается в более частых обновлениях, попробуйте ис- пользовать одну из методик, которые описываются в следующих разделах. Чтобы провести обновления динамически, примените модель, основанную на событиях или Намерениях (или более эффективный способ с применением Сигнализации).

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии