Andriod --ImageLoaderConfiguration的详细配置

    Universal-Image-Loader这个开源框架又来给我们造福了,它是一个图片加载框架,主要强大在于可以用于网络等图片源的加载,并且有多重缓存机制

一、简要说明:

1.多线程下载图片,图片可以来源于网络,文件系统,项目文件夹assets中以及drawable中等

2.支持随意的配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置

3.支持图片的内存缓存,文件系统缓存或者SD卡缓存

4.支持图片下载过程的监听

5.根据控件(ImageView)的大小对Bitmap进行裁剪,减少Bitmap占用过多的内存

6.较好的控制图片的加载过程,例如暂停图片加载,重新开始加载图片,一般使用在ListView,GridView中,滑动过程中暂停加载图片,停止滑动的时候去加载图片

7.提供在较慢的网络下对图片进行加载

/**

    * 比较常用的配置方案

    * @return

    */

    private ImageLoaderConfiguration getSimpleConfig() {

        //设置缓存的路径

        File cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(), "imageloader/Cache");


        ImageLoaderConfiguration config = new ImageLoaderConfiguration

            .Builder(getApplicationContext())

            .memoryCacheExtraOptions(480, 800) //即保存的每个缓存文件的最大长宽 

            .threadPriority(Thread.NORM_PRIORITY - 2) //线程池中线程的个数

            .denyCacheImageMultipleSizesInMemory() //禁止缓存多张图片

            .memoryCache(new LRULimitedMemoryCache(40*1024*1024)) //缓存策略

            .memoryCacheSize(50 * 1024 * 1024) //设置内存缓存的大小

            .diskCacheFileNameGenerator(new Md5FileNameGenerator()) //缓存文件名的保存方式

            .diskCacheSize(200 * 1024 * 1024) //磁盘缓存大小

            .tasksProcessingOrder(QueueProcessingType.LIFO) //工作队列

            .diskCacheFileCount(200) //缓存的文件数量 

            .diskCache(new UnlimitedDiskCache(cacheDir)) //自定义缓存路径 

            //.writeDebugLogs() // Remove for release app

            .build();

        return config;

    }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容