美文网首页
安卓开发ImageLoader图片神器

安卓开发ImageLoader图片神器

作者: 510bb14393e1 | 来源:发表于2022-05-03 08:00 被阅读0次

    使用ImageLoader可以让我们方便在listview里对图片或者视频的第一帧图片显示。
    1、添加依赖

    implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    

    2、新建一个MyApplication继承Application,并在onCreate()中创建ImageLoader的配置参数,并初始化到ImageLoader

    public class MyApplication extends Application {
     
        @Override
        public void onCreate() {
            super.onCreate();
            File cacheDir = StorageUtils.getCacheDirectory(this);
            //创建ImageLoaderConfiguration全局配置信息
            ImageLoaderConfiguration build= new ImageLoaderConfiguration.Builder(this)
            .threadPoolSize(5) // 线程池大小
            .threadPriority(Thread.NORM_PRIORITY - 2) // 设置线程优先级
            .memoryCacheSize(5 * 1024 * 1024)  // 内存缓存大小
            .diskCache(new UnlimitedDiskCache(cacheDir)) // 设置磁盘缓存策略
            .diskCacheSize(50 * 1024 * 1024) // 设置磁盘缓存的大小
            .diskCacheFileCount(50) // 磁盘缓存文件数量
            .diskCacheFileNameGenerator(new Md5FileNameGenerator()) // 磁盘缓存时图片名称加密方式
            .build();
            
            //单例模式 懒汉式
            //初始化imageloader
              //初始化
            ImageLoader.getInstance().init(build);
        }
     
            public DisplayImageOptions Options() {
                  //对图片进行参数设置
                  DisplayImageOptions options = new DisplayImageOptions.Builder()
                    .showImageOnLoading(R.mipmap.ic_launcher_round) // 加载过程中的显示图片
                    .showImageForEmptyUri(R.mipmap.ic_launcher_round) // 路径为空时显示的图片
                    .cacheInMemory(true) // 需要缓存在内存中
                    .cacheOnDisk(true) // 需要缓存到磁盘中
                    .bitmapConfig(Bitmap.Config.RGB_565) // bitmap模式
                    .displayer(new RoundedBitmapDisplayer(90)) // 设置图片显示形式(圆角 or 渐变等)
                    .displayer(new CircleBitmapDisplayer()) // 设置图片显示形式(圆形)
                    .build();
            return options;
        }
    }
    

    3、添加权限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET"/>
    

    4、AndroidManifest.xml文件application标签添加

    android:name="MyApplication"            
    

    5、使用方法

     //加载图片                             路径     控件   
     ImageLoader.getInstance().displayImage(path, imageView);
    

    ImageLoader官网地址,无法打开请开梯子再试试:https://github.com/nostra13/Android-Universal-Image-Loader

    相关文章

      网友评论

          本文标题:安卓开发ImageLoader图片神器

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