【发布时间】:2009-11-01 21:02:46
【问题描述】:
我正在编写一个 Java Swing 应用程序,它将从磁盘加载大约 1500 个 png 图像,每个图像的大小从 50kb 到 75kb 不等。我不需要一次加载所有这些,但我需要一次加载 50 张图像。我一直在尝试使用典型的加载它们:
new javax.swing.ImageIcon(getClass().getResource("myimage.jpeg")
但我的应用程序在大约前 30 张图像后冻结,并且内存不足。
以这样的方式加载这些图像的最佳方法是什么,我不会超载 jvm 并且我将能够监控到目前为止哪些已成功加载?如果可能且有必要,我不介意应用程序在加载图像时显示“正在加载...”屏幕,但我不知道该怎么做。
缓存在这里有用吗?我不太明白,但我看到this question 关于使用 MediaTracker,我不确定如何在这里实现。
【问题讨论】:
标签: java user-interface image swing