Оновлення ваших віджетів

Віджети, як правило, відображаються на домашньому екрані, тому важливо, щоб вони завжди були актуальними. Найкраще знайти золоту середу між забезпеченням цієї актуальності та впливом вашого віджету на системні ресурси, зокрема на час роботи батареї.

У наступних розділах описано кілька методик керування інтервалами оновлення для віджетів.

Використання мінімальної частоти оновлення

Найпростіший, але найбільш ресурсомісткий метод полягає у визначенні мінімальної частоти віджету, що описується у файлі формату XML, як показано в лістингу 10.12 (оновлення віджету відбувається щогодини):

Лістинг 10.12.Встановлення мінімальної частоти оновлення для віджету

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

Встановлення цього значення призведе до того, що пристрій передаватиме із зазначеною частотою об'єкт Intent, що викликає оновлення вашого віджета.

ПРИМІТКА

Щоб завершити ці оновлення, пристрій буде виведено з режиму очікування. Це означає, що оновлення завершаться навіть тоді, коли апарат не діє. Потенційно це може призвести до перевитрати цінних ресурсів, тому важливо враховувати наслідки, до яких може спричинити такий підхід.

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

Якщо ваш віджет потребує більш частих оновлень, спробуйте використати одну з методик, які описуються в наступнихрозділах. Щоб провести оновлення динамічно, застосуйте модель, засновану на подіях або Намірах (або ефективніший спосіб із застосуванням Сигналізації).