我刚刚将Java Web Start应用程序转换为applet。加载时间比以前多,所以我在控制台中启用了最高级别的日志记录。
该程序使用存储在.jar文件中的大量资源。但是,它尝试从Web服务器上的代码库下载其中一些!响应显然是404,但由于文件太多,它仍然浪费了很多时间。一旦最终加载完毕,所有资源都可以正常工作!为什么要这样做,我该如何让它停止?
资源加载代码:
public static BufferedImage loadImage(String name, String path) throws IOException
{
URL url = AssetManager.class.getResource(path.replace("resource://", "resources/"));
if(url == null)
throw new IOException("Resource not found: "+path);
BufferedImage image = ImageIO.read(url);
images.put(name, image);
return image;
}
答案 0 :(得分:1)
我也观察到了这一点,我不确定如何避免从HTTP而不是jar中插入加载类。您可以尝试使用jar索引(因此VM将知道哪个类/资源在哪个jar中)。可能有一些applet标签或JNLP文件选项也可以避免这种情况。