
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.05.2007, 09:33:00
|
|||
|---|---|---|---|
|
|||
Освобождение памяти |
|||
|
#18+
Добрый день все, получилась такая проблема. Есть большое приложение, в котором открываются (из таблицы) разные диалоги. Так вот, при открытии диалога, память увеличивается (всё правильно) А вот при закрытии, память обратно не убирается. т.е. можно наоткрывать (и потом позакрывать) кучу окон, и получится OutOfMemoryException - что не есть гут. "Закрываю" формы по по детски :( setVisible(false) Кто то может помочь, как освободить память? П.С.: System.gc(); вызываю, в таск менеджере ничего не меняется (память не очишается) :( Заранее большое спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 09:38:24
|
|||
|---|---|---|---|
Освобождение памяти |
|||
|
#18+
Закрывайте "не по-децки" :)) Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 09:49:14
|
|||
|---|---|---|---|
|
|||
Освобождение памяти |
|||
|
#18+
Спасибо, но к сожелению. как и setVisible(); так и Form.dispose(); память не очищает. продолжает рости :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 09:50:11
|
|||
|---|---|---|---|
Освобождение памяти |
|||
|
#18+
объекты могут уничножаться gc, когда они больше не достижимы. По всей видимости еще где-то остаються ссылки на ваши диалоги , возможно в listener-ах или еще где. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 09:58:13
|
|||
|---|---|---|---|
|
|||
Освобождение памяти |
|||
|
#18+
Вопрос, а как посмотреть где висят какие инстансы классов? и как к примеру убить листенеров? у меня их там много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 10:16:58
|
|||
|---|---|---|---|
Освобождение памяти |
|||
|
#18+
javaheappls. т.е. можно наоткрывать (и потом позакрывать) кучу окон, и получится OutOfMemoryException - что не есть гут. А куча окон это сколько? Может проще просто увеличить параметры JVM? Сколько памяти у вас используется? Для swing 16 мегов маловато будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 10:23:56
|
|||
|---|---|---|---|
Освобождение памяти |
|||
|
#18+
ещё со времён дехлей было модно как бы синглетонить формы. просто не создавайте слишком много экземпляров, используйте повторно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 10:33:03
|
|||
|---|---|---|---|
Освобождение памяти |
|||
|
#18+
exppещё со времён дехлей было модно как бы синглетонить формы. просто не создавайте слишком много экземпляров, используйте повторно отличный вариант. Либо вот другой. Если так теоритически предположить, что у вас объекты JFrame остаються (так как они достижимы), а у каждого объекта есть поля типа List в которых милионы объектов. То можно повесить обработчик на закрытие окна, который такие поля будет чистить (null присваивать или clear вызывать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 11:36:53
|
|||
|---|---|---|---|
Освобождение памяти |
|||
|
#18+
так я не понял, OutOfMemory падает или нет? То что память отъедается постепенно и не освобождается сразу же после окончания использования - это нормально, GC начнет работать только когда хип уже будет на исходе, по-моему... какая хоть джава-то? надо будет уточнить в спеках, в мустанге, говорят очень мужрый стал GC... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2007, 12:34:30
|
|||
|---|---|---|---|
Освобождение памяти |
|||
|
#18+
Цикличность работы gc была исправлена еще в 1.4 Jave (по крайней мере, если не используются финализаторы) А по сути, я борюсь с ростом хипа путем минимизации количества ссылочных переменных в объектах, "доставая" их через методы либо пиша в локальные в методах. Таким образом я сильно облегчаю возможность gc для сбора мусора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2145701]: |
0ms |
get settings: |
13ms |
get forum list: |
22ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
57ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 320ms |
| total: | 525ms |

| 0 / 0 |
