我正在为我用 Java 编写的项目运行一些关于图像的测试。我得到了一个有趣的结果,但不知道为什么。这是 和 的初始化BufferedImage
行Image
。
File[] files = new File("C:\\Users\\SAMSUNG\\Desktop\\img\\").listFiles();
time = System.currentTimeMillis();
for (File f:files){
Image img = ImageIO.read(f);
}
System.out.println((System.currentTimeMillis() - time) + " miliseconds.");
注意:这两个操作是分开运行的。我运行上面的,进程结束,我的意思是实际上被杀死了,而不是运行下面的。
File[] files = new File("C:\\Users\\SAMSUNG\\Desktop\\img\\").listFiles();
time = System.currentTimeMillis();
for (File f:files){
BufferedImage bimg = ImageIO.read(f);
}
System.out.println((System.currentTimeMillis() - time) + " miliseconds.");
我知道在运行中运行这些可能会影响结果,因为我尝试访问相同的文件,因为我单独运行它们。结果接近40分钟。但是,BufferedImage
初始化总是比Image
初始化快一分钟。这是为什么?
我运行了 3 次测试,结果是一样的。