我正在尝试在 Java 中创建一个非常大的图像,如下所示:
BufferedImage bi = new BufferedImage(58240, 1664, BufferedImage.TYPE_INT_RGB);
显然图像非常大。
现在我遇到的问题是,它在某些计算机上似乎可以 100% 正常运行,但在其他计算机上运行速度却很慢(这与规格无关)。
我最大的突破来自 Eclipse,IDE 拒绝实际显示图像,而是在其中一台显示图像非常缓慢的计算机上抛出错误(调整图像大小等需要相当长的时间):
线程“AWT-EventQueue-0”java.lang.OutOfMemoryError 中的异常:Java 堆空间
该错误的另一个有趣元素是,即使在它运行缓慢的计算机上,我也可以调整它所在的窗口的大小,直到不再调用绘图函数,然后再次将其变大,如果我做得“正确”,它会运行 100 % 的速度。
完全不知道发生了什么,有什么想法吗?