2

我正在尝试用 Java 编写一个简单的轻量级图像浏览器,目前我正在使用ImageIO.read(new File(/* PATH_TO_IMAGE */))它来加载图像。

问题是,加载 10 个 JPEG 需要 10467 毫秒。这似乎很慢,尤其是当我计划可能加载数百张图像时。

有没有更快的方法来加载它们?

另外,我通过paintComponent在 JPanel 中覆盖并使用 Graphics2D 绘制缩略图来绘制缩略图,如果这有什么不同的话。(并随时提出更好的方法来做到这一点)

4

2 回答 2

3

如果要显示缩略图,则应考虑创建和存储缩略图。

您不能期望每秒能够加载数百个 6 MB 的文件。缩略图大约 50 KB,加载速度更快(“加载”是从硬盘读取并在内存中解码)。

于 2012-05-15T05:00:55.450 回答
3

放大@Thomas Mueller 关于缩略图的建议,您可以将繁重的工作卸载到 a ,SwingWorker如图所示另请参阅有关重采样的此答案

于 2012-05-15T05:24:14.817 回答