2014-01-24 3 views
3

Что такое жизненный цикл статических переменных в Android?Жизненный цикл статических переменных в android

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

+0

Как вы определяете "жизнь приложения"? – Henry

+0

Как вы определяете «приложение»? – SK9

+0

«Я обнаружил, что иногда некоторые статические переменные, связанные с действиями, оказались неинициализированными, даже если они были предварительно инициализированы!». –

ответ

3

Android может убить вас, если у вас заканчивается память, и все его действия находятся в фоновом режиме (не видно). Но ваша деятельность остается в истории, и пользователь может ее снова активировать. В этом случае система воссоздает ваше приложение и восстановит его состояние. Чтобы справиться с этим случаем, вы должны сохранить состояние своего приложения и действий в постоянной памяти (файлы, базу данных и т. Д.). Более подробную информацию вы можете найти здесь http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState

+0

Спасибо, это то, что я искал .... –

1

Это зависит были вы определить это, например:

Если процесс будет убит, то все статические переменные будут реинициализирована их значения по умолчанию.

Итак, какое бы значение, которое вы установили в действии A, не сохранилось. То же самое происходит, когда действие уничтожается.

Смежные вопросы