gpt4 book ai didi

java - java加载图片函数的速度

转载 作者:行者123 更新时间:2023-12-01 15:08:45 24 4
gpt4 key购买 nike

我测试使用两种方法在我的应用程序中加载超过2m大小的图片。

private void loadImages() {
long currentTime=System.currentTimeMillis();
MediaTracker mediaTracker = new MediaTracker(this);
images = new HashMap<String, Image>();
for (Iterator iterator = model.getAllImages().iterator(); iterator
.hasNext(); mediaTracker.addImage(tempImage, 0)) {
String filename = (String) iterator.next();
try{
tempImage=ImageIO.read(Game.class.getResourceAsStream(filename));
}catch(Exception e){

}
//URL imageURL = getClass().getResource(filename);
// tempImage = getImage(getCodeBase(), imageURL.toString());
images.put(filename, tempImage);
}

try {
mediaTracker.waitForID(0);
} catch (InterruptedException interruptedexception) {
}
System.err.println(System.currentTimeMillis()-currentTime);
}

我的测试结果显示ImageIO.read()getImage()慢两倍。有人能解释一下为什么吗?等待您的回复。

最佳答案

我想说两个函数以两种不同的方式工作。

ImageIO 保证返回一个可以立即绘制的图像,而 getImage 将返回您对可能在某个时间加载的可能图像的引用将来,这就是您看到需要 ImageObserver

的绘制方法的原因

这可以解释 BufferedImageImage 之间的大部分差异。 BufferedImage 允许您直接访问像素和颜色模型数据等内容

关于java - java加载图片函数的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12599951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com