博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ImageLoader配置(凝视)
阅读量:5360 次
发布时间:2019-06-15

本文共 2631 字,大约阅读时间需要 8 分钟。

/**     * 配置ImageLoader     */    private void configImageLoader() {        File discCacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(), "/iWorker/Cache/images");        int memClass = ((android.app.ActivityManager) getSystemService(Context.ACTIVITY_SERVICE)).getMemoryClass();        memClass = memClass > 32 ? 32 : memClass;        // 使用可用内存的1/8作为图片缓存        Logger.d( " memory memClass size:{%s}", memClass);        final int cacheSize = 1024 * 1024 * memClass / 4;        Logger.d( " memory cache size:{%s}", cacheSize);        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())                .memoryCacheExtraOptions(240, 240).taskExecutor(Executors.newFixedThreadPool(10))                        // 开启十个线程下载图片,默认是3个                        // 设置缓存的每一个文件的最大宽高,默认是屏幕宽高                        // .diskCacheExtraOptions(1280, 1280, null)                        // 存放到SD卡上的最大宽高                        // .diskCacheExtraOptions(240, 240, null)                        // .threadPoolSize(3)                        // 设置线程池大小,默觉得3                        // .denyCacheImageMultipleSizesInMemory()                        // 禁止缓存多份不同大小的图片                        // .threadPriority(Thread.NORM_PRIORITY - 1)                        // 线程优先级。默认                        // .tasksProcessingOrder(QueueProcessingType.FIFO)                        // .taskExecutor(executor)                .memoryCache(new LruMemoryCache(cacheSize))                        // 缓存策略                        // 默认已设为1/8                        // .memoryCacheSize(cacheSize)                        // .memoryCacheSizePercentage(13)//设置最大内存缓存大小                .diskCache(new UnlimitedDiscCache(discCacheDir))                        // 硬盘缓存策略:这个缓存类没有不论什么的限制                        // Sets disk cache for                        // images.默觉得Android/data/[app_package_name]/cache                        // .diskCacheSize(50 * 1024 * 1024)//50M                        // .diskCacheFileCount(500)//Sets maximum file count in disk                        // cache directory.设置最大文件数                        // .diskCacheFileNameGenerator(new                        // HashCodeFileNameGenerator())//将保存的时候的URI名称用HASHCODE加密                        // .imageDownloader(new IworkerImageDownloader(this))                        // .defaultDisplayImageOptions(DisplayImageOptions.createSimple())                         .writeDebugLogs()// 输出Debug信息,释放版本号的时候,不须要这句                .build();        ImageLoader.getInstance().init(config);    }
一般在自己定义的Application中进行配置。

转载于:https://www.cnblogs.com/zsychanpin/p/6992300.html

你可能感兴趣的文章
制作U盘启动CDLinux 分类: 生活百科 ...
查看>>
搭建ssm过程中遇到的问题集
查看>>
OpenLayers绘制图形
查看>>
tp5集合h5 wap和公众号支付
查看>>
Flutter学习笔记(一)
查看>>
iOS10 国行iPhone联网权限问题处理
查看>>
洛谷 P1991 无线通讯网
查看>>
Codeforces Round #178 (Div. 2) B. Shaass and Bookshelf 【动态规划】0-1背包
查看>>
SparkStreaming 源码分析
查看>>
【算法】—— 随机音乐的播放算法
查看>>
mysql asyn 示例
查看>>
数据库第1,2,3范式学习
查看>>
《Linux内核设计与实现》第四章学习笔记
查看>>
使用iperf测试网络性能
查看>>
Docker 安装MySQL5.7(三)
查看>>
解决VS+QT无法生成moc文件的问题
查看>>
AngularJs练习Demo14自定义服务
查看>>
CF1067C Knights 构造
查看>>
[BZOJ2938] 病毒
查看>>
CSS: caption-side 属性
查看>>