我使用下面的代码从服务器获取图像。我在服务器上放置了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]。是否可以使用通话时间?”在这里,我想隐藏我的图像位置路径。我怎么能这样做?
答案 0 :(得分:0)
图像越大,加载图像的时间越长。确保使用工具压缩PNG图像,例如PNGGauntlet。
您还可以使用RMS在应用程序端添加本地缓存。
最后一个提示......你不应该依赖HttpConnection.getLength
,即使有数据要读,它也可能为零。