将图像从URL加载到imageView以及Cache

时间:2015-10-05 04:39:49

标签: android caching imageview

嗨,我是android的新手。我想从URL中插入imageView中的图像,但每当有一次从imageView中的URL加载它时,第二次它应该插入没有互联网意味着它也将存储在缓存中。

4 个答案:

答案 0 :(得分:9)

为此你可以使用毕加索图书馆 您可以从Picasso Library站点下载它,只需将此jar文件放入libs文件夹即可。它将管理Image的所有属性。   http://square.github.io/picasso/

String imgURL = "Your URL";
ivmage = (ImageView) findViewById(R.id.imageView1);
Picasso.with(MainActivity.this).load(imgURL).into(ivmage);

答案 1 :(得分:4)

您可以使用Picasso图书馆。

使用Picasso,优势是

  • 处理 ImageView回收并在适配器中下载取消。
  • 使用最少内存的复杂图像转换。
  • 自动内存和磁盘缓存

Image

加载Url
Picasso.with(context).load(url).into(imageView);

请参阅此链接以了解Api:Picasso

答案 2 :(得分:2)

你可以使用Glide https://github.com/bumptech/glide

if (...)
{
  static int a[9] = { ... };
  maskArray = a;
}

答案 3 :(得分:1)

我建议picasso库这样做。 here是毕加索图书馆的详细文件。

前:

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

或者你可以使用凌空的ImageLoader。 here您可以找到Volley图像加载的文档。

前:

// Retrieves an image specified by the URL, displays it in the UI.
ImageRequest request = new ImageRequest(url,
    new Response.Listener<Bitmap>() {
        @Override
        public void onResponse(Bitmap bitmap) {
            mImageView.setImageBitmap(bitmap);
        }
    }, 0, 0, null,
    new Response.ErrorListener() {
        public void onErrorResponse(VolleyError error) {
            mImageView.setImageResource(R.drawable.image_load_error);
        }
    });
// Access the RequestQueue through your singleton class.
MySingleton.getInstance(this).addToRequestQueue(request);

如果你正在使用排球。那么你必须手动缓存图像。毕加索默认会缓存图像。