美文网首页
Android 图片框架

Android 图片框架

作者: 程序猿峰岑 | 来源:发表于2018-09-19 09:41 被阅读0次

    说到图片框架现在比较成熟的要数picasso和Glide了 但今天要说的是ImageLoader框架 ,这个框架在有些公司仍然在使用。用的比较少而已,但用法都差不多,主要还是为了记录学习

    1.导入ImageLoader框架jar包    universal-image-loader-1.9.4-with-sources.jar 

    2.在应用程序完成初始化操作 Application

    public void initImageLoader(Context context) {

    // 设置缓存的目录

        File cacheDir = StorageUtils.getOwnCacheDirectory(context, SDPATH);

        ImageLoaderConfiguration config =new ImageLoaderConfiguration.Builder(

    context)

    .memoryCacheExtraOptions(480, 800)

    // max width, max height,即保存的每个缓存文件的最大长宽

                .threadPoolSize(3)

    // 线程池内加载的数量

                .threadPriority(Thread.NORM_PRIORITY -2)

    .denyCacheImageMultipleSizesInMemory()

    .diskCacheFileNameGenerator(new Md5FileNameGenerator())

    // 将保存的时候的URI名称用MD5

                // 加密

                .memoryCache(new UsingFreqLimitedMemoryCache(2 *1024 *1024))

    // You

    // can

    // pass

    // your

    // own

    // memory

    // cache

                // implementation/你可以通过自己的内存缓存实现

                .memoryCacheSize(2 *1024 *1024)

    // 内存缓存的最大值

                .diskCacheSize(50 *1024 *1024)

    // 50 Mb sd卡(本地)缓存的最大值

                .tasksProcessingOrder(QueueProcessingType.LIFO)

    // 将内存缓存到内存中

                .memoryCache(new WeakMemoryCache())

    // 线程池内加载的数量

                .defaultDisplayImageOptions(defaultOptions)

    // 自定义缓存目录

                .discCache(new UnlimitedDiskCache(cacheDir))

    .memoryCache(new WeakMemoryCache())

    .discCacheSize(50 *1024 *1024)

    .discCacheFileCount(100)

    // 解决加载图片时java.io.FileNotFoundException:

                // eg:http://112.64.173.178/LETU/SJYS_IMG/异常

                .imageDownloader(new BaseImageDownloader(context, 10000, 10000))

    .writeDebugLogs().build();

        // 全局初始化

        ImageLoader.getInstance().init(config);

    }

    public static DisplayImageOptionsdefaultOptions =new DisplayImageOptions.Builder()

    // 设置下载的图片是否缓存在内存中

            .cacheInMemory(true)

    // 设置下载的图片是否缓存在SD卡中

            .cacheOnDisc(true)

    // 设置图片的解码类型

            .bitmapConfig(Bitmap.Config.RGB_565)

    // 设置图片的质量(图片以如何的编码方式显示 ),其中,imageScaleType的选择值:

            // EXACTLY :图像将完全按比例缩小的目标大小

            // EXACTLY_STRETCHED:图片会缩放到目标大小完全

            // IN_SAMPLE_INT:图像将被二次采样的整数倍

            // IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小

            // NONE:图片不会调整

            .imageScaleType(ImageScaleType.EXACTLY)

    .showStubImage(R.drawable.icon_waiting_list)

    .showImageForEmptyUri(R.drawable.icon_waiting_list)

    .showImageOnFail(R.drawable.icon_waiting_list)

    // 载入图片前稍做延时可以提高整体滑动的流畅度

            .delayBeforeLoading(100).build();

    3.在使用的地方使用就可以了 跟Glide用法一样

    ImageLoader.getInstance().displayImage(url, imageView, options)  参数分别是图片资源可以是网络图片也可以是本地

    第二个参数是图片控件  第三个是配置图片显示的参数图片大小,是否保存到SD卡等的配置

    相关文章

      网友评论

          本文标题:Android 图片框架

          本文链接:https://www.haomeiwen.com/subject/dhubnftx.html