我的一些活动上有几个图像,这些图像都是从远程服务器连接的。问题是我每次进行其中一个包含来自远程服务器的图像的活动。所有图像必须首先加载,否则您将获得一个黑色的空屏幕。有时需要大约1-5分钟才能加载,有时甚至会强行关闭设备。无论如何我可以解决这个问题吗?
以下是我正在使用的代码:
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 :(得分:1)
http://www.androidpeople.com/android-load-image-url-example
这应该有帮助..
并且当jett尝试使用AsynTask进行懒惰时,在后台进行加载..
答案 1 :(得分:0)
关键是您应该使用Thread从Internet加载图像。
请参阅Android - How do I do a lazy load of images in ListView以实现此目的。
答案 2 :(得分:0)
最好使用线程下载图像
请参阅此
Load Image from server using thread
Painless Threading