• Android开源框架Universal-Image-Loader完全解析(三)


    Universal-Image-Loader这个框架用的人好像挺多的,就这个开源框架,小编再接着前两篇为大家分享,本篇文章主要从源码的角度上面去解读这个强大的图片加载框架。

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    de >ImageView mImageView = (ImageView) findViewById(R.id.image);    de>

    de >        de>de >String imageUrl = de>de >"https://lh6.googleusercontent.com/-55osAWw3x0Q/URquUtcFr5I/AAAAAAAAAbs/rWlj1RUKrYI/s1024/A%252520Photographer.jpg"de>de >;    de>

    de >            de> 

    de >        de>de >//显示图片的配置    de>

    de >        de>de >DisplayImageOptions options = de>de >newde> de >DisplayImageOptions.Builder()    de>

    de >                de>de >.showImageOnLoading(R.drawable.ic_stub)    de>

    de >                de>de >.showImageOnFail(R.drawable.ic_error)    de>

    de >                de>de >.cacheInMemory(de>de >truede>de >)    de>

    de >                de>de >.cacheOnDisk(de>de >truede>de >)    de>

    de >                de>de >.bitmapConfig(Bitmap.Config.RGB_565)    de>

    de >                de>de >.build();    de>

    de >            de> 

    de >        de>de >ImageLoader.getInstance().displayImage(imageUrl, mImageView, options);de>

    大部分的时候我们都是使用上面的代码去加载图片,我们先看下:

    ?

    1

    2

    3

    de >publicde> de >voidde> de >displayImage(String uri, ImageView imageView, DisplayImageOptions options) {  de>

    de >        de>de >displayImage(uri, de>de >newde> de >ImageViewAware(imageView), options, de>de >nullde>de >, de>de >nullde>de >);  de>

    de >    de>de >}de>

    从上面的代码中,我们可以看出,它会将ImageView转换成ImageViewAware,ImageViewAware主要是做什么的呢?该类主要是将ImageView进行一个包装,将ImageView的强引用变成弱引用,当内存不足的时候,可以更好的回收ImageView对象,还有就是获取ImageView的宽度和高度。这使得我们可以根据ImageView的宽高去对图片进行一个裁剪,减少内存的使用。

    接下来看具体的displayImage方法,由于这个方法代码量蛮多的,所以这里我分开来读。

    ?

    1

    2

    3

    Tag:

    Freenovo 发表于2013-12-09 23:49:00 | 编辑 | 分享 0

    引用地址:

  • 相关阅读:
    20151224--
    20151223--联系人项目
    20151222--Ajax三级无刷新
    20151221--三级有刷新联动
    20151220--导航前四问已解答
    递归
    Request和Response详解
    无刷新三级联动查询
    20151219--导航自己制作的一部分
    151030
  • 原文地址:https://www.cnblogs.com/freenovo/p/4469791.html
Copyright © 2020-2023  润新知