Re: event и Запуск GC
От: JSerge Россия  
Дата: 26.03.07 13:08
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте,

А>Столкнулся с интересной проблемой:
А>Проект Swing + J2SE, множество классов, инстансов, поэтому имеет место дефицит памяти.
А>Я обнуляю ссылки, но почему-то GC не запускается т.е. память не освобождается и так может продолжаться часами. Но как только я делаю minimize и maximize главному окну программы, то все сразу освобождается и все хорошо.
А>Может происходит какой-нибудь event для GC?
А>Буду очень благодарен за любую помощь.

А>Спасибо



Есть забавный подход — код, который может кинуть OoE, обрамлять в try-catch(OoE) и в catch-блоке делать попытки сбора мусора. И соот-но, после успешной (как определить успешность? А хрен знает. Можно разницу между freeMem-было и freeMem-стало смотреть) сборки пробовать вызывать тот код, который может кинуть OoE
Причем "попытки сбора мусора" — это не просто один вызов System.gc(), а несколько (раз пять), причем с промежутками (Thread.sleep()) между вызовами по 0.1..0.2 сек — так чтобы примерно до секунды общего простоя набиралось.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.