Java怀疑Swing组件中的内存泄漏

时间:2013-09-25 02:03:21

标签: java swing memory-leaks

使用javax.Swing时我有一个内存不足的例外,这就是我所做的。 我加载了16个jpgs(每个70 * 70像素)并且有16个Jbuttons。我在一个循环中非常快速地将ImageIcon的{​​{1}}设置为不同的jpgs,基本上和我的CPU可以处理的速度一样快。内存使用量从根本上增加。问题是,我从未重新加载图像。只有16个图像,所有的作业都通过参考传递了吗?我运行Eclipse Memory Analyzer,这就是我得到的:

由“& lt system class loader& gt”加载的“java.awt.image.FilteredImageSource”的一个实例占用703,066,368(43.58%)个字节。该实例由sun.awt.image.ToolkitImage @ 0x7859cef60引用,由“& lt system class loader& gt”加载。内存累积在由“& lt system class loader& gt”加载的“java.util.Hashtable $ Entry []”的一个实例中。

关键字 java.awt.image.FilteredImageSource
java.util.Hashtable中$入口[]

我可以怀疑Java的swing实现中存在内存泄漏吗?有什么想法吗?

基本上代码如下:

JButtons

请忽略这里明显的反模式,因为我抽取了新线程中发生的很多事情。

0 个答案:

没有答案