Volley获取网络图片使用总结

参考资料

http://www.3fwork.com/b600/001956MYM002697/

    //缓存
    int cacheSize= 10 * 1024 * 1024;
    //声明一个新的RequestQueue对象
    RequestQueue mQueue;
    ImageLoader imageLoader;

        //初始化RequsetQueue和ImageLoader
        mQueue = Volley.newRequestQueue(this);

        imageLoader= new ImageLoader(mQueue, new BitmapLruCache(cacheSize));
        mImageView = (ImageView) findViewById(R.id.myImage);

        String url = "http://i.imgur.com/7spzG.png";
        ImageLoader.ImageListener listener = ImageLoader.getImageListener(mImageView,R.drawable.happy7, R.drawable.happy7);
//后两个参数分别是加载的默认图和加载出错后要显示的图片
        imageLoader.get(url, listener,200,200);

缓存代码

package com.firefly.volleytest;

import android.graphics.Bitmap;
import android.util.LruCache;

import com.android.volley.toolbox.ImageLoader;

public class BitmapLruCache extends LruCache<String, Bitmap> implements ImageLoader.ImageCache {
    public BitmapLruCache(int maxSize) {
        super(maxSize);
    }

    protected int sizeOf(String key, Bitmap bitmap) {
        return (bitmap.getRowBytes() * bitmap.getHeight());
    }

    public Bitmap getBitmap(String url) {
        return ((Bitmap) get(url));
    }

    public void putBitmap(String url, Bitmap bitmap) {
        put(url, bitmap);
    }
}
时间: 2025-02-01 09:02:55

Volley获取网络图片使用总结的相关文章

检测SDWebImage有没有缓存图片 IOS 获取网络图片大小

NSURL *url = [NSURL URLWithString:[model.content objectForKey:@"image"]];             //请求网络地址数据的同步方法             //因为这个方法在子线程(全局队列)中执行,所以不需要考虑死线程的问题             SDWebImageManager *manager = [SDWebImageManager sharedManager];              [manag

iOS下载图片之前获取网络图片尺寸的失败尝试

最近一直在找获取网络图片的size的方式,最后得出两个结论: 1 使用分线程下载下来,然后获得图片的size 2 使用网络请求图片的头文件,然后从头文件中找到图片大小的信息 第一种方法需要主线程分线程切换,因为在使用tableView来reloadData的时候,刷表老是出问题,先放着不管 然后我重点是想搞一下第二个方法: 在网上找到了一个博客:http://cxjwin.github.io/2013/11/05/preview_image_size/ 大神写的很不错 主要思路就是先在网上找一个

获取网络图片(Bitmap)至内存或者SD卡

/** * 获取网络图片 * 注意权限: * <uses-permission android:name="android.permission.INTERNET"/> */ private Bitmap getBitmapFromNetWork(String imageUrl){ URL url=null; Bitmap bitmap=null; InputStream inputStream=null; HttpURLConnection httpURLConnecti

URL转Drawable之 Android中获取网络图片的三种方法

转载自: http://doinone.iteye.com/blog/1074283 Android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Application Not Responding)对话框的情况.对于这种情况,一般的方法就是耗时操作用线程来实现.下面列三种获取url图片的方法: 1.直接获取:(容易:ANR,不建议) [java] view plain copy mImageView = (ImageView)this.findViewById

IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合

第一.复制对象的基本概念 复制一个对象为副本,开辟一块新的内存来存储副本对象. 第二.如果一个对象想具备复制的功能,必须实现<NSCopying>协议和<NSMutableCopying>协议 NSObject自带的常用的对象有:NSNumber.NSString.NSArray.NSDictionary.NSMutableArray.NSMutableDictionay.NSMutableString,copy产生的对象时不可变的,mutableCopy产生的对象时可变的 第三.

Android中获取网络图片的三种方法

android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Application Not Responding)对话框的情况.对于这种情况,一般的方法就是耗时操作用线程来实现.下面列三种获取url图片的方法: 1.直接获取:(容易:ANR,不建议) mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ; Drawable drawable = loadImageFromNetwo

获取网络图片的大小 改变 图片色值 灰度什么的方法集合-b

直接上代码了 头文件   // 图片处理 0 半灰色  1 灰度   2 深棕色    3 反色 +(UIImage*)imageWithImage:(UIImage*)image grayLevelType:(UIImageGrayLevelType)type; //色值 变暗多少 0.0 - 1.0 +(UIImage*)imageWithImage:(UIImage*)image darkValue:(float)darkValue; /** 获取网络图片的Size, 先通过文件头来获取图

iOS 获取网络图片的大小

一直都在找关于获取网络图片的大小的方法, 今天找到了一个能解决的办法 ,如下 1, 导入框架 #import <ImageIO/ImageIO.h> 2. 使用此方法得到image的size - (CGSize)getImageSizeWithURL:(NSURL *)url { CGImageSourceRef imageSource = CGImageSourceCreateWithURL((CFURLRef)url, NULL); CGFloat width = 0.0f, height

Cocos2dx-获取网络图片并显示

本文转载于:http://www.cnblogs.com/zisou/p/cocos2dxWLTP.html 经过自己简单封装了一下,实现了获取网络图片,按照比例展示出来,实现方法是cocos2dx - http的异步方法,相信有很多地方都会使用 到着这个需求:比如获取玩家的头像. 我就直接贴代码了,只需一个类就可以搞定: HttpGetImg.h #ifndef __HttpGetImg__ #define __HttpGetImg__ #include "cocos2d.h" #i