krembrule2016
@krembrule2016

Нужно ли удалять коллекции? И как это правильно сделать?

Всем привет!
Короче, я тут приболел и под высокой температурой мне в голову пришла мысля о том, что надобно пораскинуть мозгами на тему - а правильно ли я, собственно, программирую. Ну и после выздоровления я окинул глазами свой недавний проект и у меня всплыл вот такой вопрос:

Допустим, есть некая функция, которая срабатывает когда пользователь тыкает по экрану своего убогого китайского хуявэя. В этой функции написано что-то вроде:
ArrayList<Float> yaOsvoilColleKcii = new ArrayList<Float>();

Дальше значит чем-то там коллекция наполняется, но это неважно. Но! При этом пользователь может тыкнуть по экрану последовательно несколько раз. В итоге в памяти у нас наплодятся эти коллеции и никуда не исчезнут? Т.е. будет забиваться оперативная память хуавея пока не лопнет? Т.е. надо ли после отработки функции как-то эту коллекцию из памяти удалять? А ежели тыкнули одновременно несколько раз, то че будет? Это в памяти возникнет сразу две или более коллекции, но с одним названием? я честно гуглил, но везде только инстукции аля как пользоваться коллекциями. Прошу более опытных прояснить этот вопрос.
  • Вопрос задан
  • 137 просмотров
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Сокращать область видимости переменных, а дальше JVM сама обо всём позаботится.
Ответ написан
Beshere
@Beshere
Разработчик
Как правило, не надо - JVM сама почистит память. Но есть случаи, когда коллекции содержат объекты с ресурсами (текстуры, звук), они должны иметь метод типа dispose(). Вот вызвать их надо не забыть.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
iLLuzor
@iLLuzor
Java, Kotlin, Android Developer
Это троллинг какой-то что ли?
Если нет, читайте про модель памяти jvm и про работу garbage collector
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы