1

我使用下面的代码从服务器获取图像。我在服务器上放置了 60 张不同的图像。我有所有这些图片的网址。通过使用 while 循环,我得到了所有这些图像,但是从服务器加载图像需要花费很多时间。

我该怎么做才能尽快获得这些图像?

 public Image getImagefromURL(String imageURL) {
    DataInputStream is = null;
    StringBuffer sb = new StringBuffer();
    Image img = null;
    try {
        HttpConnection c = (HttpConnection) Connector.open(imageURL);
        int len = (int) c.getLength();

        if (len > 0) {
            is = c.openDataInputStream();
            byte[] data = new byte[len];
            is.readFully(data);
            img = Image.createImage(data, 0, len);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return img;
}

还有一件事是,当我获取第一张图片时,应用程序正在向我确认“应用程序想要使用通话时间连接到 [图像位置的 URL]。使用通话时间可以吗?” 在这里我想隐藏我的图像位置路径。我怎样才能做到这一点?

4

1 回答 1

0

图像越大,加载它所需的时间就越长。确保您的 PNG 图像使用工具进行压缩,例如PNGGauntlet

您还可以使用 RMS 在应用程序端添加本地缓存。

最后一个提示......你不应该依赖HttpConnection.getLength,即使有数据要读取,它也可能为零。

于 2012-09-25T11:13:02.380 回答