来自url问题的android imageview

时间:2011-01-12 09:52:00

标签: android imageview

我使用以下代码在我的imageview中显示来自网址的图片:

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) 
    {
         return null;
    }
}


Drawable drawable = LoadImageFromWebOperations("http://www.androidpeople.com/wp-content/uploads/2010/03/android.png");
imgView.setImageDrawable(drawable);

我有一个定时器,每5秒更换一次图像。但在一些罕见的情况下,该应用程序冻结。是因为LoadImageFromWebOperations无法加载图像?或任何想法可能是什么问题,以及如何解决它?谢谢!

1 个答案:

答案 0 :(得分:0)

您正在使用createFromStream()阻止UI线程,这就是应用程序偶尔冻结的原因。

您需要做的是在AsyncTask doInBackground()和onPostExecute中加载图像,然后设置Drawable。当AsyncTask从网上下载时,你还需要另一个占位符(通常是一个微调器)