Статические переменные, какова их продолжительность жизни?

Я использую статические переменные в своем приложении, многие из них. Мой вопрос: когда я выйду из приложения, они будут все еще в памяти ..? Если да, как я могу это исправить. Заранее спасибо.

Статическая переменная загружается, когда класс загружается ClassLoader, и будет удален, когда он будет выгружен

Для следующих читателей этого вопроса –

Как все сказали в ответ, что статические переменные являются переменными класса. Они остаются в памяти, пока класс не выгрузится из JVM.

В Android вы заметили, что когда мы закрываем любое приложение, оно не закрывается полностью, оно остается в последнем стеке приложений. Это вы можете долгое время нажать кнопку «домой» («На большинстве устройств»).

Android itself kicked out those recent apps when the other app needs memory 

В Android статическая переменная выгружается, когда –

  -You force stop your app. -Application crashes. -You clear your app data. -Switch off your Device. -Android kicked out recent app 

В дополнение к другим ответам также обратите внимание, что если эти статические «переменные» на самом деле являются «статическими окончательными» примитивными константами, то они фактически не существуют как отдельные объекты вообще, но их значение скомпилируется прямо во все классы, которые используют Их (а не только тот, который их определяет).

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

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

Иногда вы хотите иметь переменные, общие для всех объектов. Это достигается с помощью static modifier . Fields that have the static modifier in their declaration are called static fields or class variables . They are associated with the class, rather than with any object . Every instance of the class shares a class variable, which is in одном фиксированном месте в памяти . Любой объект может изменить значение переменной класса, но переменные класса также можно манипулировать, не создавая экземпляр класса.

Когда экземпляр не используется, сборщик мусора будет уничтожать его. Это означает, что ваш экземпляр будет удален из памяти.

Я использую статические переменные в своем приложении, многие из них.

Статические переменные невосприимчивы к автоматическому диспетчеру памяти, и вы должны установить их в null в методе onDestroy (Android). Они относятся к классу уверенно, и именно он работает, как и @Jigar Joshi .

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

 private int classinVar; 

Автоматически инициализируется значением по умолчанию при загрузке класса, а сама концепция – с выводом, когда вы получаете выступление, тогда этот класс выйдет из контекста со своим статическим полем.

Если это C / C ++, и если вы не собирали мусор, вы должны использовать программу управления памятью. Если это java, закройте любые «javaw» программы из памяти и закройте jvm

Никакая переменная не остается в памяти после остановки приложения.

Intereting Posts
Android-логин с json-объектом пуст в извлечении, даже если выполнение php-файла в браузере Chrome в порядке Как обрезать изображения без использования намерений в Android Разница и использование onCreate (), onCreateView () и onActivityCreated () в фрагментах Тестирование точки внутри полигона в Android Отключить выделение кликов в InfoWindows? OnConfigurationchanged не вызывается через jellybean (4.2.1) Первая аутентификация для получения токена Выделите выбранное изображение в HorizantalListView в андроиде, и он останется выбранным до тех пор, пока другое изображение не будет нажато Robolectric – как отключить единичный тест? Как проверить транзакции Android на основе приложения на MY-сервере? Ссылка на ссылку сброса Firebase не работает Получайте E-Mail, ID и телефон из контакта (не используя активность) Android service startService () и bindService () Android «Устройство с включенной отладкой» не отображается на Eclipse Android http, связанный с OkHttp Dont, работает