zoukankan      html  css  js  c++  java
  • ImageLoader配置(凝视)

    /**
         * 配置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中进行配置。





  • 相关阅读:
    HIVE(2) 之 常用函数
    HIVE的Shell操作
    HIVE常用函数(1)聚合函数和序列函数
    版本控制系统之SVN和GIT的区别
    【PyQt5】信号与槽+装饰器定义槽函数
    【PyQt5】信号与槽+多线程
    【PyQt5】信号与槽用法进阶
    【PyQt5】信号与槽用法入门
    【python之路】【5、函数学习】带装饰器的函数作业【老男孩第2期全栈】
    【python之路】【4、文件操作】数据类型、文件操作-作业 用文件储存三级菜单并执行
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6992300.html
Copyright © 2011-2022 走看看