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

本文提供了一个快速使用Volley加载网络图片到ImageView的方法,包括内存管理、缓存策略及异步加载机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果要学习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);
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值