Жизненный Цикл Виджета Android

в моем классе виджетов, который расширяет расширение AppWidgetProvider у меня есть некоторые статические конечные ArrayLists, которые содержат данные. У меня есть несколько кнопок в моем виджете, которые при нажатии приводят к вызову onReceive в классе. Я заметил, что иногда ArrayLists потеряют свои значения (будут пустыми) при запуске onReceive, но большую часть времени у них есть данные, как ожидалось.

является ли ArrayList безопасным для использования в этом контексте? Есть ли какие-либо события жизненного цикла виджета, которые могли бы вызвать список для повторного создания экземпляра. Мне очень сложно найти документацию по событиям жизненного цикла виджета.

1 ответов


является ли ArrayList безопасным для использования в этом контексте?

нет. Если больше ничего из вашего приложения не запущено, ваш процесс может быть завершен между onUpdate() звонки.

есть ли какие-либо события жизненного цикла виджета, которые приведут к повторному экземпляру списка.

ваш процесс был прерван.

мне очень сложно найти документацию по жизненному циклу виджета события.

это потому, что нет жизненного цикла в том, как вы думаете.

An AppWidgetProvider - это манифест-зарегистрировано BroadcastReceiver. Манифест-зарегистрирован BroadcastReceiver живет только до тех пор, пока его onReceive() звонок. ничего который живет за пределами этой области, например, статические члены данных, будут надежными.

пожалуйста, храните информацию в файлах или базах данных.