javafx - 在 javafx 中创建缩略图时出错
问题描述
我使用 javafx 创建了一个图像查看器应用程序。我想将文件夹内的所有图像显示为缩略图。
java.lang.OutOfMemoryError:Java 堆空间
使用以下代码时发生错误。我也用过System.gc()
,但没有改善。
GridPane thumbnails=new GridPane();
for (int row = 0; row < 1; row++) {
for (int column = 0; column <= jFiles.size(); column++) {
int newindex = column;
String currentBackImage = FileHandler.CURRENT_DIR + "/" + jFiles.get(column).fullname;
FileInputStream imageInput = new FileInputStream(new File(FileHandler.CURRENT_DIR + "/" + jFiles.get(column).fullname));
String ext = currentBackImage.toLowerCase().substring(currentBackImage.lastIndexOf('.') + 1);
if (ext.contains("tif")) {
FileChannel channel = imageInput.getChannel();
ByteBuffer buffer = ByteBuffer.allocate((int) channel.size());
channel.read(buffer);
System.gc();
img = mainController.load(buffer.array());
imageInput.close();
} else {
System.gc();
img = new Image(imageInput);
imageInput.close();
}
StackPane stack = new StackPane();
ImageView view = new ImageView();
view.setImage(img);
stack.add(view);
thumbnails.add(stack, row, column);
imageInput.close();
}
}
解决方案
推荐阅读
- javascript - 为我的 HTML 组件实现深色主题
- c - 在 C 中的链表中存储日期和时间
- flutter - 如何在 MaterialApp 级别定义媒体查询,以便可以将其应用于 Flutter 中的所有屏幕/脚手架?
- javascript - 数组在反应中以状态存储时成为对象
- react-native - React Native (Expo) - useWindowDimensions().width 未在方向更改时更新
- mongodb - 在 MongoDB 中,如何忽略从获取时间开始不到五分钟时间插入的文档
- papaja - 无法编织 papaja 文件 - 已弃用 pandoc-citeproc 过滤器
- sql - 获取 ID 和最大值 ORACLE SQL
- javascript - 使用 ModelMap 在 Spring 中重定向 Post 方法以获取方法
- python - 线性回归缩放特征