URL url = new URL("http://xxx.xxx.xxx.xxx/img/xxx.gif");
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();获得InputStream后利用BitmapFactory.decodeStream(InputStream is)返回一个Bitmap类型了,然后ImageView.setImageBitmap(Bitmap bm)这样做在虚拟机中运行一点问题也没有问题(是连接到我所部署的网络服务器上,并下载其上面的图片),但是放到真机时,却总是等待并黑屏,请问这是怎么回事,该怎么解决 

解决方案 »

  1.   

    下载图片要耗时,会阻塞UI主线程,会出现你上面黑屏的情况。想要不黑屏,可以新开个线程去执行下载,配合Handler更新UI
      

  2.   


    3.0以上的就不能运行了这个要在子线程里去做下载,然后通知Handler更新UI
      

  3.   

    6楼正解!! 主线程画UI被你的联网阻塞了,需要开启新的子线程来实现!建议 handler
      

  4.   

    你下载的是gif图片,android 播放对于gif图片,需要应用另外的包GifView来显示。