自定义配置Universal-Image-Loader类数据的工具类

来源:互联网 发布:图像算法工程师招聘 编辑:程序博客网 时间:2024/06/05 02:36

描述:使用Universal-Image-Loaderimg字段对应的网络图片并配置将图片缓存到SD卡的image目录下,当图片加载失败和正在加载的时候默认显示Android小机器人图片。


import android.content.Context;import android.graphics.Bitmap;import android.os.Environment;import com.Duhongwang.R;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator;import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.assist.ImageScaleType;import com.nostra13.universalimageloader.core.assist.QueueProcessingType;import com.nostra13.universalimageloader.core.decode.BaseImageDecoder;import com.nostra13.universalimageloader.core.download.BaseImageDownloader;import java.io.File;/** * 自定义配置Universal-Image-Loader类数据的工具类 */public class ImageLoaderUtil {    //配置Universal-Image-Loader类数据的方法,配置缓存到SD卡的位置    public static void initConfig(Context context){        //使用Universal-Image-Loader加载img字段对应的网络图片并配置将图片缓存到SD卡的image目录下        File cacheDir = new File(Environment.getExternalStorageDirectory(),"/image");        if(!cacheDir.exists()){            cacheDir.mkdirs();        }        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)                .threadPoolSize(3)                .threadPriority(Thread.NORM_PRIORITY - 2)                  // default 设置当前线程的优先级                .tasksProcessingOrder(QueueProcessingType.FIFO)        // default                .denyCacheImageMultipleSizesInMemory()                .memoryCache(new LruMemoryCache(2 * 1024 * 1024))       //可以通过自己的内存缓存实现                .memoryCacheSize(2 * 1024 * 1024)      // 内存缓存的最大值                .memoryCacheSizePercentage(13)        // default                .diskCache(new UnlimitedDiscCache(cacheDir))     // default 可以自定义缓存路径                .diskCacheSize(50 * 1024 * 1024)         // 50 Mb sd卡(本地)缓存的最大值                .diskCacheFileCount(100)     // 可以缓存的文件数量
                // default为使用HASHCODE对UIL进行加密命名, 还可以用MD5(new Md5FileNameGenerator())加密                .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())                .imageDownloader(new BaseImageDownloader(context))    // default                .imageDecoder(new BaseImageDecoder(true))    // default                .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default                .writeDebugLogs()   // 打印debug log                .build();   //开始构建        ImageLoader.getInstance().init(config);    }    //配置图片加载失败和加载中显示的Android小机器人logo    public static DisplayImageOptions getOption() {        DisplayImageOptions options = new DisplayImageOptions.Builder()                .showImageOnLoading(R.mipmap.ic_launcher)  // 设置图片下载期间显示的图片                .showImageForEmptyUri(R.mipmap.ic_launcher)  // 设置图片Uri为空或是错误的时候显示的图片                .showImageOnFail(R.mipmap.ic_launcher)  // 设置图片加载或解码过程中发生错误显示的图片                .resetViewBeforeLoading(true)   // default 设置图片在加载前是否重置、复位                .delayBeforeLoading(1000)   // 下载前的延迟时间                .cacheInMemory(true) // default  设置下载的图片是否缓存在内存中                .cacheOnDisk(true)  // default  设置下载的图片是否缓存在SD卡中                .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) // default 设置图片以如何的编码方式显示                .bitmapConfig(Bitmap.Config.RGB_565) // default 设置图片的解码类型                .build();        return options;    }}


阅读全文
0 0
原创粉丝点击