статические переменные в области приложения равны нулю при сбое приложения

1

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

могу ли я сказать четко, я объявляю эти две переменные в подклассе приложения и инициализации в другом классе java, когда происходит сбой при сбое, что становится необходимым требовать приложения null.my после входа в систему только эти два должны быть инициализированы.

За любой ответ/совет Спасибо заранее

Теги:
static-variables

2 ответа

1
Лучший ответ

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

Для сохранения постоянных значений этих переменных выберите SharedPreferences.

Подробнее о SharedPreferences читайте здесь. И пример для работы.

  • 0
    Спасибо за ответ, он отлично работает !!
2

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

Если вы хотите, чтобы ваши переменные в приложении останавливались/перезапускались (это также произойдет, когда Android решит остановить ваше приложение), вы должны использовать другое хранилище, и я бы предложил посмотреть SharedPreferences.

  • 0
    Спасибо за ответ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню