Время жизни статической переменной в Android

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

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

Solutions Collecting From Web of "Время жизни статической переменной в Android"

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

В Android вы видели, что когда мы закрываем какое-либо приложение, оно не закрывается полностью, оно остается в последнем стеке приложений. Это можно увидеть, удерживая кнопку home (On Most Devices).

Сам Android выпустил последнее приложение, когда другому приложению нужна память

Могу ли я получить доступ к содержимому переменной?

Предполагая, что под «уничтожением» вы подразумеваете что-то вроде того, что пользователь нажимает BACK, да.

Участники статических данных живут в течение всего процесса.

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

Это не подходящее решение. Используйте сохраненный фрагмент или используйте onRetainNonConfigurationInstance() .

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

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

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

Класс приложения – лучший способ поделиться некоторыми временными переменными между компонентами, потому что класс приложения будет правильно создан во время запуска приложения и будет очищен от приложения для выхода из приложения.

Ссылка: http://skillgun.com/question/9849/android-provab/face-to-face-round/if-i-close-the-application-will-it-destroy-all-the-static-variables

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

Поэтому, когда мы закрываем объекты приложения, уничтожаем, но статическую переменную не уничтожаем. Но когда мы очищаем приложение, тогда класс уничтожает и, следовательно, статическую переменную. Когда-нибудь андроид убил класс из-за свободного пространства памяти, в этом случае статическая переменная destroy.