(メモリを解放するために) BufferedImage をディスクに保存する最速の方法は何ですか?
私の Java アプリケーションは大量の画像を処理します (画像は 300 ミリ秒ごとにメモリに読み込まれます)。これらの画像のほとんどはすぐに破棄 (gc) されますが、ときどき画像を保存する必要があります。
もちろん、それらを RAM に保持するのは得策ではありません。数分で平均 2 GB の JVM を消費し、アプリケーションをクラッシュさせるため、ディスクに保存してみました。問題は、ImageIO.write(img, "PNG", file)
(私の i7 マシンでは) 12MB の画像を処理して保存するのに 5 ~ 10 秒かかることがあり、メモリを十分に解放しないため、保存するだけでは不十分です。
より高速に実行できる別の形式はありますか?
編集:
解像度を下げたり、妥当なレベルで画像データを失ったりすることは気にしません。