| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > Програма ест память |
| Автор: zhail 18.12.2008, 18:16 |
| Доброе время суток. У меня такая проблема: есть прога, которая конектится к БД через JDBC. Выглядит это так: находим в таблице строку, два раза кликаем - открывается окно JDialog с подробной информацией по выбранному объекту интерфейс написан на Swing. И получается такая штука: открыли объект в окне, закрыли открыли следующий, следующий, .... , и при этом программа при каждом открытии занимает на полтора метра больше, ну и понятно, если при старте ей нужно 25М то после нескольких десятков открытий - кричит что памяти не хватает. С чего лучше начать искать? Что проверить? А то перезапускать прогу через 20-30 мин :( |
| Автор: SaSho 19.12.2008, 10:01 |
| Доброе. Профилировать, видимо, не пробовали. "Пальцем в небо" можно предположить следующее: при открытии каждого окна JDialog создаётся новый диалог, а при закрытии память не очищается (не установлено setDefaultCloseOperation(DISPOSE_ON_CLOSE)); открытие коннекта к БД - ресурсоёмкая операция, пул используется? |
| Автор: zhail 19.12.2008, 10:50 | ||||
Попробовал - помогло :) я думал, что вызова myJDialog.dispose() хватит. Теперь программа растет не на 1,5мб в памяти, а на 300кб. Попробую плз еще раз пальцем в небо :) Про конект к БД, деляю так:
|
| Автор: SaSho 22.12.2008, 11:08 |
| Пули соединений используй. Например, http://commons.apache.org/dbcp/ |