花了很多时间下载&显示从url到Gridview的图像

时间:2012-11-16 07:26:08

标签: android gridview imageview

我有20个不同图片的网址。我需要从URL下载20个图像并将其显示在网格视图中。对我来说,它花了很多时间来下载图像内容。以下是我在Image Adapter类中使用的代码。

    public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView;
    if (convertView == null) {  // if it's not recycled, initialize some attributes
        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(220, 200));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setPadding(1, 1, 1,0);
    } else {
        imageView = (ImageView) convertView;
    }
    imageView.setImageDrawable(GetDrawableImage(url));
    return imageView;
}
private Drawable GetDrawableImage(String zurlP)
{   InputStream InputStreamL = null;
    Drawable DrawableImageL = null;  
try {
        InputStreamL = (InputStream) new URL(zurlP).getContent();
        DrawableImageL = Drawable.createFromStream(InputStreamL, "src");
    } catch (MalformedURLException e) {          
    } catch (IOException e) {           
    }  
    return DrawableImageL;
}  

执行相同的任务是否有最简单的方法(减少消耗时间)?

2 个答案:

答案 0 :(得分:3)

是..,您可以使用Asynctask或Painless线程从服务器加载大图像。下载后缓存图像。您可以使用[Fedor lazylist](https://github.com/thest1/LazyList)

各种可能性。

Multi Threading

Cacheing

Pain less threading

Large bitmaps loading

或者你可以简单地用拇指指甲。意味着从服务器获取拇指指甲而不是位图像。加载将有效

答案 1 :(得分:2)

您需要在其他帖子中下载图片。您可以使用image loader