Codenameone URLImage获取方法不工作

Codenameone URLImage获取方法不工作,codenameone,Codenameone,我浏览了文档: 默认情况下,除非调用fetch()方法,否则会按照GUI的要求延迟获取图像,在这种情况下会立即执行IO代码 调用fetch()后,存储文件似乎没有得到刷新。这是我做的测试 1) 我第一次使用以下图像创建了一个URLImage:“ 2) 我运行应用程序。图像显示得很好 3) 我使用一个新的URL图像“”重新运行应用程序,但尽管正在调用fetch(),我仍然可以看到以前的图像 Form hi = new Form("Hi World"); EncodedImage

我浏览了文档:

默认情况下,除非调用fetch()方法,否则会按照GUI的要求延迟获取图像,在这种情况下会立即执行IO代码

调用fetch()后,存储文件似乎没有得到刷新。这是我做的测试

1) 我第一次使用以下图像创建了一个URLImage:“

2) 我运行应用程序。图像显示得很好

3) 我使用一个新的URL图像“”重新运行应用程序,但尽管正在调用fetch(),我仍然可以看到以前的图像

    Form hi = new Form("Hi World");

    EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(hi.getWidth(), hi.getWidth() / 5, 0xffff0000), true);
    URLImage background = URLImage.createToStorage(placeholder, "400px-AGameOfThrones.jpg",
            "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png");
    background.fetch();

    Label label = new Label();
    label.setIcon(background);
    hi.addComponent(label);
    hi.show();
第二轮:

  Form hi = new Form("Hi World");

    EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(hi.getWidth(), hi.getWidth() / 5, 0xffff0000), true);
    URLImage background = URLImage.createToStorage(placeholder, "400px-AGameOfThrones.jpg",
            "http://awoiaf.westeros.org/images/thumb/9/93/AGameOfThrones.jpg/400px-AGameOfThrones.jpg");
    background.fetch();

    Label label = new Label();
    label.setIcon(background);
    hi.addComponent(label);
    hi.show();

文档可能需要澄清,立即并不意味着同步,因此fetch方法只会将映像添加到下载队列,但在映像实际存在之前不会阻止


如果您想要这种行为,URL图像可能不是最好的解决方案。您可以使用
Util.downloadToStorage()
ConnectionRequest
中的
Image
下载方法以及
addToQueueAndWait
谢谢。我想了解在后台发生了什么,即基于什么标准更新/下载图像。我随后多次运行该应用程序,但图像仍无法刷新。它是否基于特定的上次下载时间戳?
URLImage
从不下载已下载的图像。它不检查更新。如果要强制更新,则需要删除本地存储文件。