Это верно, ни в коем случае, не в состоянии решить, что (не только в Java PL),
1) действительно не создает много Контейнеров верхнего уровня во время выполнения /Fly, потому что они никогда не завершаются, и до тех пор, пока текущий экземпляр JVM не выйдет, и эти Объекты никогда не были GC'ы, только их Grapfics2D
2) myContainer#dispose()
во время выполнения для текущего экземпляра JVM такие же, как и myContainer#setVisible(false)
в соединениях с доступной и используемой JVM памятью
3) создайте только несколько Top-Level Containers
(максимум отображается одновременно), используйте это повторно, но оставьте там JPanel как 1.st JComponent
и позвоните myPanel#removeAll()
, в противном случае вы удалите RootPane и из вашего Контейнера останутся только границы :-) будет прозрачным
4) возможно частичное уменьшение используемой памяти JVM по вызовуGC, но только количество возвратов от Graphics2D
и Garbage
не работает сразу,
5) больше здесь полезная информация здесь