我的一些活动上有几个图像,这些图像都是从远程服务器连接的。问题是我每次进行其中一个包含来自远程服务器的图像的活动。所有图像必须首先加载,否则您将获得一个黑色的空屏幕。有时需要大约1-5分钟才能加载,有时甚至会强行关闭设备。无论如何我可以解决这个问题吗?有人建议我使用Thread,但我真的不知道如何制作一个。有些人可以给我一些例子,我会非常感激。
以下是我正在使用的代码:
ImageViewimgView =(ImageView)findViewById(R.id.image01);
Drawable drawable = LoadImageFromWebOperations("http://forum.roda.hr/images/customavatars/avatar10164_2.gif");
imgView.setBackgroundDrawable(drawable);
private Drawable LoadImageFromWebOperations(String url) {
try {
InputStream is = (InputStream) new URL(url).getContent();
Drawable d = Drawable.createFromStream(is, "src name");
return d;
}
catch (Exception e) {
System.out.println("Exc="+e);
return null;
}
}
我一直在努力解决这个问题,请帮助我,这对我来说真的很重要。提前致谢!
答案 0 :(得分:0)
试试这个example,它使用AsyncTask和ProgressDialog在后台执行工作,并向用户显示工作正在进行中。
答案 1 :(得分:0)
我推荐使用DroidFu库。它有一个WebImageView小部件,它将处理来自远程源的图像加载。 https://github.com/kaeppler/droid-fu
答案 2 :(得分:0)