将 BufferedImage 保存到磁盘(以释放内存)的最快方法是什么?
我的 Java 应用程序处理大量图像(每约 300 毫秒将图像加载到内存中)。这些图像中的大多数都立即被丢弃(gc),但每隔一段时间我需要保存一张图像。
当然,将它们保存在 RAM 中并不是一个好主意,因为它会在几分钟内平均消耗 2GB JVM,并破坏应用程序,因此我尝试将其保存到磁盘。问题是,保存它ImageIO.write(img, "PNG", file)
是不够的,因为有时(在我的 i7 机器上)每个 12MB 图像需要 5-10 秒来处理和保存,并且仍然不能足够快地释放内存。
是否有另一种可能执行得更快的格式?
编辑:
我不在乎以合理的水平降低分辨率或松散的图像数据。