我有一个应用程序,我想在其中显示一些图像组件。这其中的每一项都是一个 custom jcomponent
,它将在 BufferedImage
对象中包含图像,以在 paintcomponents(Graphics g)
覆盖方法中绘制它.我还将使用 JPanel
作为网格,使用 gridlayout
或 flowlayout
放置自定义图像 jcomponents
,网格的布局将在 JscrollPane
内。
我的问题是当我必须放入网格中的图像数量变大时会发生什么。使用jscrollpane
,组件的数量,也就是必须绘制的图片的数量会减少,比如20-30个组件,但是插入到网格中的每个组件都会有一个BufferedImage对象来保留相应的图像。这对性能和内存消耗不利吗?可以使用一些模式吗?例如,如果我使用一个主要引用点将图像从磁盘加载到 bufferedimage
并根据 scrollpane
的哪个矩形,用户然后在他们存放的地方释放一些 bufferedimage在 jscrollpane
的当前位置的网格中?
谢谢。
最佳答案
您将必须对基本变量进行原型(prototype)设计并对结果进行分析。然后将这些结果与最低公分母目标平台上的可用功能进行比较。一个sscce是无价的。这one ,例如,可以让您轻松改变 N
,即图像数量。
提到了一些替代 View here .
评论中指出:为了节省内存,请考虑 LRU cache .
关于java - 在网格中显示大量图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11763435/