JavaFX ImageView内存泄漏

时间:2013-08-14 13:41:31

标签: java memory javafx memory-leaks

我在JavaFX上处理图像幻灯片放映应用程序,经过一段时间的工作java崩溃,没有空闲内存错误。 在接口代码中我有:

image = new ImageView();
Group root = new Group(image);
imageScene = new Scene(root, height, width);        
primaryStage.setScene(imageScene);

在后台线程中,我为图像视图设置了图像源:

...
Map<String, Image> imagesMap = new HashMap<>();
...
// Slide thread
if (!imagesMap.containsKey(item.File)) {
Image image = new Image(item.File);
imagesMap.put(item.File, image);
}
Image i = imagesMap.get(item.File);
image.setImage(i);

app运行时(使用params:-XX:+ UnlockExperimentalVMOptions -XX:+ UseG1GC -Xmx256m)分配给java进程的内存总是在增加......

1 个答案:

答案 0 :(得分:-5)

使用以下代码缩小图像尺寸

Image img = ic.getImage();  
Image newimg = img.getScaledInstance(500, 700,  java.awt.Image.SCALE_SMOOTH);

我确定您在此应用中使用原始图片尺寸。