フォルダーから jpeg 画像 (4 枚の画像) を取得し、それらを 1 つの大きな画像にマージするツールを作成しようとしています。
for (int i = desde; i < hasta + 1; i++) {
for (int j = 0; j < 4; j++) {
foto = ImageIO.read(new File("C:/picYou/Pic you_diciembre 06 2012/Pic you_take" + i + "/" + (j + 1) + ".jpg"));
g.drawImage(foto, 300, 300 + j * (altoFoto + 20), null);
foto.flush();
foto = null;
}
File output = new File("C:/picYou/" + i + ".jpg");
ImageIO.write(img, "jpg", output);
g.finalize();
g.dispose();
}
g は graphics2d オブジェクトで、foto は BufferedImage です。
問題は、他の画像をロードする前に画像をフラッシュして null にしても、画像が使用するメモリが解放されないことです。ご覧のとおり、すべての画像が「foto」に読み込まれますが、より効率的にする方法はありますか? ありがとう!