ImageLoader配置大全

来源:互联网 发布:linux jdk8安装教程 编辑:程序博客网 时间:2024/06/07 06:33

1. 介绍
在上一篇ImageLoader源码分析对ImageLoader整体流程进行了分析,中间也对ImageLoade提供的配置给予了截图显示,但是不利于查找,此篇专门用来说明ImageLoader的配置。本文以universal-image-loader-1.9.5源码基础,其中Deprecated了的方法一般都会有替代方法,所以这些过期方法没有在配置列表中给出。

2. 配置大全
ImageLoader的配置分为DisplayImageOptions类和ImageLoaderConfiguration类的配置

  • DisplayImageOptions配置
    @showImageOnLoading(int imageRes)
    target文件正在加载的时候,View显示的图片

    @showImageForEmptyUri(int imageRes)
    当target文件地址为空的时候,View显示的图片

    @showImageOnFail(int imageRes)
    当ImageLoader加载target文件失败的时候,View显示的图片

    @resetViewBeforeLoading(boolean resetViewBeforeLoading)
    在ImageLoader要加载target文件之前,View的是否要被reset(reset即setImageDrawable(null))

    @cacheInMemory(boolean cacheInMemory)
    是否选择要内存缓存

    @cacheOnDisk(boolean cacheOnDisk)
    是否选择要磁盘缓存

    @imageScaleType(ImageScaleType imageScaleType)
    图片的ScaleType,ImageLoader会根据此配置计算scale,对加载的原始图片按照scale比例进行缩放

    @bitmapConfig(Bitmap.Config bitmapConfig)
    配置图片文件的config

    @decodingOptions(Options decodingOptions)
    此方法作用和imageScaleType类似,会影响scale的计算

    @delayBeforeLoading(int delayInMillis)
    加载任务之前的delay,以毫秒为单位

    @extraForDownloader(Object extra)
    指定ImageLoader加载原始文件的下载器,默认是BaseImageDownloader类

    @considerExifParams(boolean considerExifParams)
    是否读取exif文件属性信息rotate, flip,用于对图片进行scale和rotate

    @preProcessor(BitmapProcessor preProcessor)
    在bitmap被缓存进内存前,利用BitmapProcessor对bitmap进行操作,可以影响到内存缓存行为

    @postProcessor(BitmapProcessor postProcessor)
    在bitmap被缓存进内存后,利用BitmapProcessor对bitmap进行操作,主要用于后续的显示任务

    @displayer(BitmapDisplayer displayer)
    bitmap外形样式,圆的,带边框修饰的等等

    @syncLoading(boolean isSyncLoading)
    同步加载还是异步加载,默认是异步加载

    @handler(Handler handler)
    加载事件传递使用的Handler

  • ImageLoaderConfiguration配置
    @memoryCacheExtraOptions(int maxImageWidthForMemoryCache, int maxImageHeightForMemoryCache)
    内存缓存图片的宽高限制,此方法和DisplayImageOptions中的imageScaleType都会影响到scale的计算。

    @diskCacheExtraOptions(int maxImageWidthForDiskCache, int maxImageHeightForDiskCache,
    BitmapProcessor processorForDiskCache)
    磁盘缓存图片的宽高限制

    @taskExecutor(Executor executor)
    自定义加载任务需要的线程池

    @threadPoolSize(int threadPoolSize)
    指定显示任务线程池线程数目

    @threadPriority(int threadPriority)
    指定加载任务线程的线程优先级

    @memoryCacheSize(int memoryCacheSize)
    指定内存缓存容量上限,默认为ActivityManager.getMemoryClass * 1 / 8

    @memoryCacheSizePercentage(int availableMemoryPercent)
    指定内存缓存容量占虚拟机最大maxMemory(Runtime.getRuntime().maxMemory())的百分比,这里availableMemoryPercent取值范围为0-100

    @memoryCache(MemoryCache memoryCache)
    自定义内存缓存数据结构类

    @diskCacheSize(int maxCacheSize)
    指定磁盘缓存总容量,以bytes为单位

    @diskCacheFileCount(int maxFileCount)
    指定磁盘缓存文件个数

    @diskCacheFileNameGenerator(FileNameGenerator fileNameGenerator)
    自定义磁盘缓存文件的命名规则,默认使用md5命名

    @diskCache(DiskCache diskCache)
    自定义磁盘缓存数据结构类

    @imageDecoder(ImageDecoder imageDecoder)
    自定义bitmap的decoder操作,可以影响到磁盘缓存文件的宽高。界面比较卡的时候,可以自定义该选项

0 0
原创粉丝点击