Жизненный Цикл Виджета Android
в моем классе виджетов, который расширяет расширение AppWidgetProvider у меня есть некоторые статические конечные ArrayLists, которые содержат данные. У меня есть несколько кнопок в моем виджете, которые при нажатии приводят к вызову onReceive в классе. Я заметил, что иногда ArrayLists потеряют свои значения (будут пустыми) при запуске onReceive, но большую часть времени у них есть данные, как ожидалось.
является ли ArrayList безопасным для использования в этом контексте? Есть ли какие-либо события жизненного цикла виджета, которые могли бы вызвать список для повторного создания экземпляра. Мне очень сложно найти документацию по событиям жизненного цикла виджета.
1 ответов
является ли ArrayList безопасным для использования в этом контексте?
нет. Если больше ничего из вашего приложения не запущено, ваш процесс может быть завершен между onUpdate()
звонки.
есть ли какие-либо события жизненного цикла виджета, которые приведут к повторному экземпляру списка.
ваш процесс был прерван.
мне очень сложно найти документацию по жизненному циклу виджета события.
это потому, что нет жизненного цикла в том, как вы думаете.
An AppWidgetProvider
- это манифест-зарегистрировано BroadcastReceiver
. Манифест-зарегистрирован BroadcastReceiver
живет только до тех пор, пока его onReceive()
звонок. ничего который живет за пределами этой области, например, статические члены данных, будут надежными.
пожалуйста, храните информацию в файлах или базах данных.