Почему GC не устраняет все утечки памяти
GC освобождает память объектов, которые больше недостижимы. Если приложение продолжает хранить ненужную ссылку, сборщик не может угадать, что объект больше не нужен бизнес-логике.
Проверьте:
• статическую коллекцию, в которую только добавляют элементы;
• кеш без ограничений или удаления записей;
• ThreadLocal в долгоживущем потоке;
• слушателя, который остаётся зарегистрированным после закрытия экрана или сессии.
Для поиска причины полезны heap dump и пути удержания объектов от GC roots. Сам рост занятой памяти ещё не доказывает утечку: смотрите, что удерживается после сборок и почему.
#Java
Java Библиотека | Мы в Телеграм
Просмотры: 194