更多干货

  • 分布式实战(干货)

  • spring cloud 实战(干货)

  • mybatis 实战(干货)

  • spring boot 实战(干货)

  • React 入门实战(干货)

  • 构建中小型互联网企业架构(干货)

  • python 学习持续更新

  • ElasticSearch 笔记

  • kafka storm 实战 (干货)

  • scala 学习持续更新

  • RPC

  • 深度学习

  • GO 语言 持续更新

  • nginx 相关文章

  • Android 学习

 

1.第一种也是最常用的一种:ImageLoader

 public void imageLoader(String url,ImageView iv){        //ImageLoader的第一个参数就是RequestQueue:即Volley的请求队列        // ImageLoader的第二个参数是ImageCache:图片缓存,下面会将如何自定义缓存        ImageLoader il=new ImageLoader(queue,new BitCache());        //接下来需要获取一个ImageListener对象        //getImageListener的三个参数分别为:要加载ImageView对象,图片的默认值(网络图片加载完成前所显示的图片),图片请求出错时的值        ImageLoader.ImageListener imageListener=ImageLoader.getImageListener(iv,R.mipmap.ic_launcher,R.mipmap.ic_launcher);        //调用ImageLoader的get()方法来加载图片        //get()方法第一个参数为图片的url地址,第二个参数是上面获取的ImageListener对象        //后两个参数用来指定图片允许的最大宽度和高度,可不写        il.get(url,imageListener,500,500);    }

自定义图片缓存BitCache.java

public class BitCache implements ImageLoader.ImageCache{    /*  LruCache图片缓存处理类     *  特点:当缓存的图片达到了预先设定值时,近期使用次数最少的图片就会被回收     */    private LruCache myCache;    public BitCache(){        //设置缓存大小,应用内存的1/8作为缓存空间        myCache=new LruCache((int) (Runtime.getRuntime().maxMemory()/1024/8)){            @Override            //缓存图片大小            protected int sizeOf(String key, Bitmap value) {                return value.getRowBytes()*value.getHeight();            }        };    }    @Override    //从缓存中得到图片    public Bitmap getBitmap(String s) {        return myCache.get(s);    }    @Override    //将图片放入缓存    public void putBitmap(String s, Bitmap bitmap) {        myCache.put(s,bitmap);    }}

调用方式为:imageLoader(url,img);

2.第二种:ImageRequest

public void imageRequest(String url){        ImageRequest ir=new ImageRequest(url, new Response.Listener() {            @Override            public void onResponse(Bitmap bitmap) {                img.setImageBitmap(bitmap);            }        }, 500, 500, Bitmap.Config.ARGB_8888, new Response.ErrorListener() {            @Override            public void onErrorResponse(VolleyError volleyError) {            }        });        queue.add(ir);    }

自定义图片缓存同上
调用方式:imageRequest(url);

3.第三种:直接使用NetworkImageView控件

在布局中直接添加:

主函数设置如下:

NetworkImageView networkImageView= (NetworkImageView) findViewById(R.id.netImg);        String url ="http://10.0.2.2:8080/HttpTest/img/h5.png";        ImageLoader imageLoader = new ImageLoader(requestQueue,new BitCache());        networkImageView.setDefaultImageResId(R.mipmap.ic_launcher);        networkImageView.setErrorImageResId(R.mipmap.ic_launcher);        networkImageView.setImageUrl(url,imageLoader);

--------------------- 作者:未迹 来源:CSDN 原文:https://blog.csdn.net/ygd1994/article/details/51348503?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

更多相关文章

  1. Android(安卓)GridView控件 使用
  2. android中,显示圆形图片
  3. android无线内网打印机打印出图片
  4. Android(安卓)-- DiskLruCache
  5. android 官网处理图片 代码
  6. 教你怎么做可以换皮肤的软件
  7. 仿照TapTap做的一个demo,运用了Rxjava+Retrofit+MaterialDesign
  8. Android缓存机制&一个缓存框架推荐
  9. Android下的Gallery显示技术分析(三)

随机推荐

  1. Android 基础总结:(二)Android APP基础及组
  2. Android能赢得开发者吗?
  3. IOS和Android OpenGL游戏引擎的集成AdMob
  4. Android系列教程(2):为 TextView组件加上边
  5. okhttp的应用详解与源码解析--android网
  6. android 与 unity 的那些事
  7. Android之网络丢包
  8. 万圣节:Android 南瓜灯现身
  9. Android防止内存溢出浅析/应用自动更新功
  10. 索尼Android电视明年2月上市