Android网络请求开源框架Volley快速使用指南(2)——异步获取图片

来源:互联网 发布:网络污词大全 编辑:程序博客网 时间:2024/05/01 12:00

如果要学习volley基础的发起get和set请求的方法请参看:

关于volley的发起get和set请求

这篇主要提供一个快速使用volley加载网络图片到ImageView里的方法,具体代码如下:

    /**     * 利用Volley异步加载图片     *     * 注意方法参数:     * getImage(Context context,String imageUrl,ImageView mImageView)     * 第一个参数:上下文     * 第二个参数:图片地址     * 第三个参数:要加载图片的ImageView     */    public static void getImage(Context context,String imageUrl,ImageView mImageView){        RequestQueue requestQueue = Volley.newRequestQueue(context);//        // 获取此设备的内存        final int memClass = ((ActivityManager) context.getSystemService(               Context.ACTIVITY_SERVICE)).getMemoryClass();//        //用此设备1/8的应用内存来作为该缓存        final int cacheSize = 1024 * 1024 * memClass / 8;        //设置缓存        final LruCache<String, Bitmap> lruCache = new LruCache<String, Bitmap>(cacheSize);</span>        //设置该图片的缓存,如果有缓存则从缓存中读取        ImageLoader.ImageCache imageCache = new ImageLoader.ImageCache() {            @Override            public void putBitmap(String key, Bitmap value) {                lruCache.put(key, value);            }            @Override            public Bitmap getBitmap(String key) {                return lruCache.get(key);            }        };        ImageLoader imageLoader = new ImageLoader(requestQueue, imageCache);        //getImageListener方法第一个参数为你要加载图片的ImageView,第二个为默认图片,第三个为加载失败时显示的图片,可以为空        ImageLoader.ImageListener listener = ImageLoader.getImageListener(mImageView, R.drawable.loading_bg,R.drawable.loading_bg);        imageLoader.get(imageUrl, listener);    }


1 3