gpt4 book ai didi

java - 调整 JFrame 大小会增加大量内存

转载 作者:行者123 更新时间:2023-12-01 14:35:43 26 4
gpt4 key购买 nike

我正在创建一个简单的 JFrame 窗口,并检查 Windows 任务管理器的内存使用情况,当我尝试使用鼠标指针而不是最大按钮调整 JFrame 的大小时,它会添加大量内存,从 51,000k 到 400,000k,但它从来没有下降,但当我使用最大按钮时,它甚至没有增加内存。

是什么导致它添加大量内存并且永远不会下降?

Image bg = new ImageIcon(getClass().getResource("circle.png")).getImage();
JFrame jf = new JFrame("MySqlConnections");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(400,400);
jf.setIconImage(bg);
new ConnectMysql(jf);
jf.setLocationRelativeTo(null);
jf.setPreferredSize(new Dimension(xFrame, yFrame));
jf.setMinimumSize(jf.getPreferredSize());
jf.setVisible(true);


public static void main(String[] args) {
new MainFrame();
/* Total number of processors or cores available to the JVM */
System.out.println("Available processors (cores): " +
Runtime.getRuntime().availableProcessors());

/* Total amount of free memory available to the JVM */
System.out.println("Free memory (bytes): " +
Runtime.getRuntime().freeMemory());

/* This will return Long.MAX_VALUE if there is no preset limit */
long maxMemory = Runtime.getRuntime().maxMemory();
/* Maximum amount of memory the JVM will attempt to use */
System.out.println("Maximum memory (bytes): " +
(maxMemory == Long.MAX_VALUE ? "no limit" : maxMemory));

/* Total memory currently in use by the JVM */
System.out.println("Total memory (bytes): " +
Runtime.getRuntime().totalMemory());

/* Get a list of all filesystem roots on this system */
File[] roots = File.listRoots();

/* For each filesystem root, print some info */
for (File root : roots) {
System.out.println("File system root: " + root.getAbsolutePath());
System.out.println("Total space (bytes): " + root.getTotalSpace());
System.out.println("Free space (bytes): " + root.getFreeSpace());
System.out.println("Usable space (bytes): " + root.getUsableSpace());
}

}

最佳答案

当您逐步调整大小时,它可能会增加内存,它需要一次又一次地重新绘制全帧。为什么它不会下降,因为它取决于垃圾收集器,只要有空间释放一些内存,垃圾收集器就不会立即运行。

关于java - 调整 JFrame 大小会增加大量内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16505083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com