gpt4 book ai didi

java - 如何减少类路径中的资源加载时间?

转载 作者:行者123 更新时间:2023-12-01 21:19:04 25 4
gpt4 key购买 nike

我目前正在构建一个资源消耗很大的应用程序,其中包含大量图像和一些用户可以显示和交互的 PDF 文件。现在,我在需要时使用

加载图像
MainMenu.class.getResource("ImageName.png");

然后将其设置为 JPanel 或类似的内容以进行显示。但是,加载这些图像有时需要很长时间,并且会减慢应用程序在尝试加载它们时停止的速度。即使在我的工作笔记本电脑上也会发生这种情况,这是一个不错的规范,不用介意用户的电脑可能较旧。

有人有更简化的方法吗?

最佳答案

既然您提到您的整个应用程序会停止运行,您应该确保加载工作不在事件处理线程中完成。您应该在 SwingWorker 中执行它:

public class ImageLoadingWorker extends SwingWorker<URL, Object> {

private String resourceName;

public ImageLoadingWorker(String resourceName) {
this.resourceName = resourceName;
}

@Override
protected URL doInBackground() throws Exception {
return getClass().getClassLoader().getResource(resourceName);
}

@Override
protected void done() {
// use result here
URL result = get();
// ...
}
}

然后:

new ImageLoadingWorker("dummy/dummy/Ima‌​geName.png").execute();

查看此 Oracle 文档以了解更多详细信息:Improve Application Performance With SwingWorker in Java SE 6

关于java - 如何减少类路径中的资源加载时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39471319/

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