通过调整框架大小来简化Swing应用程序内存

时间:2015-12-22 03:02:59

标签: java swing memory-leaks

这个简单的程序和内存(任务管理器的私有工作集)通过调整其框架来增长。如果我持续调整帧的大小,则32MB(最初)到140MB以上。为什么会发生这种情况,对于Java程序来说这是正常的吗?

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class TestSwing {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            frame.setVisible(true);
        });
    }
}

我为SWT和JavaFX简单的一帧程序做了同样的事情。与Swing相比,内存增长非常缓慢但似乎稳步增长。

我也为notepad.exe的框架做了同样的事情,但内存没有增长。

我使用VisualVM来监视JVM堆,但堆大小没有改变。 所以问题可能是GUI库使用的本机内存。

enter image description here  [私人工作集:31MB(初始) - > 192MB(最后)]

环境:Windows Vista / Java 8更新66

0 个答案:

没有答案