ImageLoder封装工具类..

来源:互联网 发布:管家婆软件是什么 编辑:程序博客网 时间:2024/05/17 22:12
public class ImageLoaderutils {


    //初使化
    public static void initImageLoader(Context context){
        //自定义磁盘缓存路径  系统默认的缓存路径 sd...<package>..cache  当app被卸载时,此路径下的缓存图片一并被删除
        //File cacheDir=getExternalCacheDir();
        File cacheDir= new File(Environment.getExternalStorageDirectory().getPath()+"/aaa");//自定义 sd卡的缓存路径


        //第一步:对ImageLoader进行初使化
        ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(context)
                .memoryCacheExtraOptions(320, 450) // default = device screen dimensions 内存缓存文件的最大长宽
                .diskCacheExtraOptions(480, 800, null)  // 本地缓存的详细信息(缓存的最大长宽),最好不要设置这个
                .threadPriority(Thread.NORM_PRIORITY - 2) // default 设置当前线程的优先级
                .tasksProcessingOrder(QueueProcessingType.FIFO) // default
                .denyCacheImageMultipleSizesInMemory()
                .memoryCache(new LruMemoryCache(10 * 1024 * 1024)) //可以通过自己的内存缓存实现
                .memoryCacheSize(2 * 1024 * 1024)  // 内存缓存的最大值
                .memoryCacheSizePercentage(13) // default


                .diskCache(new UnlimitedDiscCache(cacheDir)) // 磁盘缓存 --default 可以自定义缓存路径


                .diskCacheSize(20 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值


                .diskCacheFileCount(100)  // 可以缓存的文件数量
                // default为使用HASHCODE对UIL进行加密命名, 还可以用MD5(new Md5FileNameGenerator())加密
                .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
                .imageDownloader(new BaseImageDownloader(context)) // default
                .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
                .writeDebugLogs() // 打印debug log
                .build();


        ImageLoader.getInstance().init(configuration);
    }


    /**
     * 得到图片的显示设置类对象
     * @param context
     * @return
     */
    public  static  DisplayImageOptions getImageOption(Context context){
        DisplayImageOptions options=new DisplayImageOptions.Builder()
                .cacheInMemory(true)//使用内存缓存
                .cacheOnDisk(true)//使用磁盘缓存


                .showImageOnLoading(R.mipmap.ic_launcher)//设置正在下载的图片
                .showImageForEmptyUri(R.mipmap.ic_launcher)//url为空或请求的资源不存在时
                .showImageOnFail(R.mipmap.ic_launcher)//下载失败时显示的图片


                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式
                .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式===imageView,,ScaleType
                .displayer(new RoundedBitmapDisplayer(50))//设置图片圆角显示  弧度
                .build();


        return  options;
    }
}
原创粉丝点击