Разница между состоянием сохраненного экземпляра и статическими переменными
Я создаю приложение, которое загружает некоторые вещи при его запуске и показывает список пользователю, но я не хочу, чтобы оно повторно загружало список каждый раз, когда приложение открывается, или когда пользователь переключается на другое действие и приходит назад.
Чтобы решить эту проблему, я использую статические переменные. Я прочитал, что их значения остаются там до тех пор, пока программа не будет закрыта или они не будут использоваться, и сборщик мусора сделает свою работу.
Итак, мой вопрос:
Есть ли большая разница между этими двумя способами? Или я делаю это неправильно? Должен ли я использовать сохраненное состояние экземпляра, предоставляемое Android, для сохранения этих переменных, или статический будет делать эту работу?
Обратите внимание, что я не могу сохранить эту дату дольше, чем день, поэтому я не могу сохранить ее в базе данных.
Благодарю.
1 ответ
Да, есть большая разница. Даже если Android завершает работу приложения, оно может хранить сохраненную информацию о состоянии, чтобы ее можно было восстановить в том месте, где он был оставлен пользователем (например, из списка последних приложений). Со статическими переменными эти данные исчезают после завершения процесса.
Сохраненные состояния действительно предназначены для конкретных действий или фрагментов (например, состояния пользовательского интерфейса), а не для больших объемов данных. Если вы загружаете данные из Интернета, я рекомендую вам использовать постоянные параметры хранения данных вместо использования статических переменных.