Universal Image Loader 笔记

来源:互联网 发布:淘宝宝贝广告信息违规 编辑:程序博客网 时间:2024/05/22 00:41

ImageLoaderConfiguration参数说明

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)// 你可以设置你自己实现的内存缓存.memoryCache(new LruMemoryCache(2 * 1024 * 1024))// 为位图最大内存缓存大小(以字节为单位),默认值,可用应用程序内存的1/8// 注意:如果你使用这个方法,那么LruMemoryCache将被用作内存缓存。// 您可以使用memoryCache(MemoryCacheAware)方法来设置自己的MemoryCacheAware的实现。.memoryCacheSize(2 * 1024 * 1024)// 当同一个Uri获取不同大小的图片,缓存到内存时,只缓存一个。默认会缓存多个不同的大小的相同图片.denyCacheImageMultipleSizesInMemory()// 设置本地图片缓存,也可以设置你自己实现。缓存必需实现DiscCacheAware接口类型// (在com.nostra13.universalimageloader.cache.disc.impl包下能找到如下的类)// FileCountLimitedDiscCache(File cacheDir, int maxFileCount)://     设置缓存路径和缓存文件的数量,超过数量后,old将被删除// FileCountLimitedDiscCache(File cacheDir,FileNameGenerator fileNameGenerator,int maxFileCount)://     第二个参数是通过图片的url生成的唯一文件名。// LimitedAgeDiscCache(File cacheDir, FileNameGenerator fileNameGenerator, long maxAge)://     第二个参数同上// LimitedAgeDiscCache(File cacheDir, long maxAge)://     maxAge为定义的时间,超过时间后,图片将被删除// TotalSizeLimitedDiscCache(File cacheDir, FileNameGenerator fileNameGenerator, int maxCacheSize)://     第二个参数同上// TotalSizeLimitedDiscCache(File cacheDir, int maxCacheSize)://     定义缓存的大小,如超过了,就会删除旧图片// UnlimitedDiscCache(File cacheDir)://     缓存没有限制// UnlimitedDiscCache(File cacheDir, FileNameGenerator fileNameGenerator)://     第二个参数同上.discCache(new FileCountLimitedDiscCache(new File("/sdcard/cache"), 100))//// 设置缓存的大小(以字节为单位)默认:本地缓存是不限制大小// 注意:如果你使用这个方法,那么TotalSizeLimitedDiscCache将被用作磁盘缓存// 您可以使用discCache(DiscCacheAware)DiscCacheAware引入自己的实现方法// @param maxCacheSize大小.discCacheSize(10 * 1024 * 1024)// 设置图片保存到本地的参数// @param maxImageWidthForDiscCache:保存的最大宽度// @param maxImageHeightForDiscCache:保存的最大高度// @param compressFormat:保存的压缩格式// @param compressQuality:提示压缩的程度,有0-100.像png这种图片无损耗,就不必设置了// @param BitmapProcessor:处理位图,可以更改原来的位图,实现必须是线程安全的.discCacheExtraOptions(100, 10, android.graphics.Bitmap.CompressFormat.JPEG, 0, null)// 设置缓存文件的数量// @param maxFileCount数量.discCacheFileCount(100)// @param executor 添加线程池,进行下载// 如果进行了这个设置,那么threadPoolSize(int),// threadPriority(int),tasksProcessingOrder(QueueProcessingType)将不会起作用.taskExecutor(executor)// 设置缓存文件的名字// HashCodeFileNameGenerator():通过HashCode将url生成文件的唯一名字// Md5FileNameGenerator():通过Md5将url生产文件的唯一名字.discCacheFileNameGenerator(new Md5FileNameGenerator())// 设置用于显示图片的线程池大小.threadPoolSize(5)//// 设置线程的优先级.threadPriority(Thread.MIN_PRIORITY + 3)// tasksProcessingOrder(QueueProcessingType tasksProcessingType)// 设置图片下载和显示的队列排序.tasksProcessingOrder(QueueProcessingType.LIFO).writeDebugLogs().build();ImageLoader.getInstance().init(config);


DisplayImageOptions参数说明

DisplayImageOptions options = new DisplayImageOptions.Builder()// 设置图片在下载期间显示的图片  .showImageOnLoading(R.drawable.ic_launcher)//  // 设置图片Uri为空或是错误的时候显示的图片  .showImageForEmptyUri(R.drawable.ic_launcher)//  // 设置图片加载/解码过程中错误时候显示的图片  .showImageOnFail(R.drawable.ic_launcher)//  // 设置图片在下载前是否重置,复位  .resetViewBeforeLoading()//  // 设置下载的图片是否缓存在内存中  .cacheInMemory(true)//  // 设置下载的图片是否缓存在SD卡中  .cacheOnDisc(true)//  // 设置是否将翻转的图片恢复  .considerExifParams(true)//  // 设置图片的解码类型,默认值——Bitmap.Config.ARGB_8888  .bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码配置 android.graphics.BitmapFactory.Options  // 注意:选择inSampleSize将不考虑的选项  // 会根据imageScaleType(imageScaleType)选项设置大小  // 注意:这个选项重叠bitmapConfig()选项  .decodingOptions(decodingOptions)// 设置图片下载前的延迟  .delayBeforeLoading( delayInMillis)// 设置额外的内容给ImageDownloader  .extraForDownloader(Object extra)// 设置图片加入缓存前,对bitmap进行设置 BitmapProcessor preProcessor  // 设置位图处理器将位图过程之前,他们会在内存中缓存。所以内存缓存将包含位图处理传入的预处理器。  // 图像预处理的即使在内存中缓存是禁用的。  // 设置显示前的图片,显示后这个图片一直保留在缓存中  .postProcessor(BitmapProcessor postProcessor)// 设置图片以如何的编码方式显示 imageScaleType(ImageScaleType imageScaleType)  // EXACTLY :图像将完全按比例缩小的目标大小  // EXACTLY_STRETCHED:图片会缩放到目标大小完全  // IN_SAMPLE_INT:图像将被二次采样的整数倍  // IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小  // NONE:图片不会调整  .imageScaleType( imageScaleType)// 设置图片的显示方式 默认值——DefaultConfigurationFactory.createBitmapDisplayer()  // RoundedBitmapDisplayer(int roundPixels)设置圆角图片  // FakeBitmapDisplayer()这个类什么都没做  // FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间  // SimpleBitmapDisplayer()正常显示一张图片   .displayer(new RoundedBitmapDisplayer(20))//  .build();



0 0