Android开源项目 Universal imageloader 源码研究之项目框架

原创 2015年12月30日 10:47:11

Android开源项目 Universal imageloader 源码研究之项目框架

本文主要了解Universal imageloader 源码结构 大部分都是UML图形方式 观察项目框架。

  • 基本客户化接口
  • 基本UML类图

基本客户化接口


初始化配置

      ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(context);
        config.threadPriority(Thread.NORM_PRIORITY - 2);
        config.denyCacheImageMultipleSizesInMemory();
        config.diskCacheFileNameGenerator(new Md5FileNameGenerator());
        config.diskCacheSize(50 * 1024 * 1024); // 50 MiB
        config.tasksProcessingOrder(QueueProcessingType.LIFO);
        config.writeDebugLogs();// Initialize ImageLoader with configuration.
        ImageLoader.getInstance().init(config.build());
    }


配置参数options
 options = new DisplayImageOptions.Builder()
                    .showImageOnLoading(R.drawable.ic_stub)
                    .showImageForEmptyUri(R.drawable.ic_empty)
                    .showImageOnFail(R.drawable.ic_error)
                    .cacheInMemory(true)
                    .cacheOnDisk(true)
                    .considerExifParams(true)
                    .bitmapConfig(Bitmap.Config.RGB_565)
                    .build();

最后 ImageLoader使用

ImageLoader.getInstance()
                    .displayImage(IMAGE_URLS[0], holder.imageView, options, new SimpleImageLoadingListener() {
                        @Override
                        public void onLoadingStarted(String imageUri, View view) {

                        }

                        @Override
                        public void onLoadingFailed(String imageUri, View view, FailReason failReason) {

                        }

                        @Override
                        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {

                        }
                    }, new ImageLoadingProgressListener() {
                        @Override
                        public void onProgressUpdate(String imageUri, View view, int current, int total) {

                        }
                    });             

这里写图片描述

基本类图

这里写图片描述

缓存

包括磁盘和内存缓存
这里写图片描述

Loading显示

这里写图片描述

View包装器

这里写图片描述

客户化接口

可以在存入缓存和显示图片之前处理Bitmap


options = new DisplayImageOptions.Builder().
                preProcessor(preProcessor).
                postProcessor(postProcessor);

    //进入缓存之前
    BitmapProcessor preProcessor = new BitmapProcessor() {

        @Override
        public Bitmap process(Bitmap bitmap) {
            return null;
        }

    };

    //显示给ImageView 之前处理
    BitmapProcessor postProcessor = new BitmapProcessor() {

        @Override
        public Bitmap process(Bitmap bitmap) {
            return null;
        }

    };



项目源码结构

这里写图片描述

基本结构就是这样。

https://github.com/nostra13/Android-Universal-Image-Loader

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/birdsaction/article/details/50432862

Android 图片加载框架Universal-Image-Loader源码解析

Universal-Image-Loader(项目地址)可以说是安卓知名图片开源框架中最古老、使用率最高的一个了。一张图片的加载对于安卓应用的开发也许是件简单的事,但是如果要同时加载大量的图片,并且图...
  • sinat_23092639
  • sinat_23092639
  • 2017-03-26 10:52:32
  • 1602

开源项目源码解析-Android Universal Image Loader 源码分析

Android Universal Image Loader 源码分析 本文为 Android 开源项目源码解析 中 Android Universal Image Loader 部分 项目地...
  • ljx19900116
  • ljx19900116
  • 2015-02-04 09:32:33
  • 7418

android ImageLoader框架按需求修改——以backgroud方式展示在ImageView

ImageLoader是一款android用户非常常用的图片异步加载框架,实现了图片的缓存,在节省手机性能的同时为用户节省了流量成本,但是ImageLoader在使用上也有不符合用户需求的一点,那就是...
  • u010184245
  • u010184245
  • 2017-05-04 14:42:06
  • 436

Android-Universal-Image-Loader 源码解读

Universal-Image-Loader是一个强大而又灵活的用于加载、缓存、显示图片的Android库。它提供了大量的配置选项,使用起来非常方便。 基本概念基本使用 首次配置 在第一次使用Im...
  • maplejaw_
  • maplejaw_
  • 2016-06-15 17:46:53
  • 4507

android universal image loader 缓冲原理详解

1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的、可高度定制的图片缓存,本文简称...
  • xiangzhihong8
  • xiangzhihong8
  • 2015-05-13 12:10:00
  • 1629

UniversalImageLoader的用法总结

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/51471280UIL的功能及优点 UIL的使用 具体配置 滚动时暂定加载作为图片加载类库...
  • crazy1235
  • crazy1235
  • 2017-04-20 22:41:25
  • 2690

Android-Universal-Image-Loader源码和jar包

  • 2014年12月08日 20:48
  • 3.73MB
  • 下载

深入解析开源项目之Universal-Image-Loader(一)框架篇

ImageLoader是一个优秀的图片加载开源项目,很多童鞋都在自己的项目中用到了。优秀的项目从来都是把简单留给开发者,把复杂封装在框架内部。...
  • zhengzechuan91
  • zhengzechuan91
  • 2015-12-13 11:37:47
  • 1523

Android Universal ImageLoader

  • 2015年05月20日 11:20
  • 2.61MB
  • 下载

Android开源框架Image-Loader1.9.5详解

如果说评价一下哪个图片开源库最被广泛使用的话,我想应该可以说是Universal-Image-Loader,在主流的应用中如 果你随便去反编译几个,基本都能看到他的身影,它就像个图片加载守护者,默默...
  • qq_33152517
  • qq_33152517
  • 2017-04-21 13:20:10
  • 681
收藏助手
不良信息举报
您举报文章:Android开源项目 Universal imageloader 源码研究之项目框架
举报原因:
原因补充:

(最多只允许输入30个字)