imageloader配置

ImageLoader使用詳解

前言:關於ImageLoader的配置,網上有好多配置方案,本文是基於github上ImageLoader的官方引導作爲講解。
github地址 https://github.com/nostra13/Android-Universal-Image-Loader

配置ImageLoader

  • 一般我們在使用ImageLoader的時候,需要在應用程序的入口進行它的一個配置,這個配置一般寫到Application裏邊
  • *
public void initImageLoader() {
        // 獲取默認的路徑
        File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext());
        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
                getApplicationContext())
                // 設置內存圖片的寬高
                .memoryCacheExtraOptions(480, 800)
                // default = device screen dimensions
                // 緩存到磁盤中的圖片寬高
                .diskCacheExtraOptions(480, 800, null)
                // .taskExecutor(null)
                // .taskExecutorForCachedImages()
                .threadPoolSize(3)
                // default 線程優先級
                .threadPriority(Thread.NORM_PRIORITY - 2)
                // default
                .tasksProcessingOrder(QueueProcessingType.FIFO)
                // // default設置在內存中緩存圖像的多種尺寸
                //加載同一URL圖片時,imageView從小變大時,從內存緩存中加載
                .denyCacheImageMultipleSizesInMemory()
                // 超過設定的緩存大小時,內存緩存的清除機制
                .memoryCache(new LruMemoryCache(2 * 1024 * 1024))
                // 內存的一個大小
                .memoryCacheSize(2 * 1024 * 1024)
                .memoryCacheSizePercentage(13)
                // default 將圖片信息緩存到該路徑下
                .diskCache(new UnlimitedDiskCache(cacheDir))
                // default 磁盤緩存的大小
                .diskCacheSize(50 * 1024 * 1024)
                // 磁盤緩存文件的個數
                .diskCacheFileCount(100)
                //磁盤緩存的文件名的命名方式//一般使用默認值 (獲取文件名稱的hashcode然後轉換成字符串)或MD5 new Md5FileNameGenerator()源文件的名稱同過md5加密後保存
                .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
                // 設置默認的圖片加載
                .imageDownloader(
                        new BaseImageDownloader(getApplicationContext())) // default
                // 使用默認的圖片解析器
                .imageDecoder(new BaseImageDecoder(true)) // default
                .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
                .writeDebugLogs().build();

    }

在使用圖片加載的類中去配置這些資源,比如在Activity中進行配置

    public void initOptions() {
        DisplayImageOptions options = new DisplayImageOptions.Builder()
        // 設置圖片在下載期間顯示的圖片
                .showImageOnLoading(R.drawable.ic_launcher)
                // 設置圖片Uri爲空或是錯誤的時候顯示的圖片
                .showImageForEmptyUri(R.drawable.ic_launcher)
                // 設置圖片加載/解碼過程中錯誤時候顯示的圖片
                .showImageOnFail(R.drawable.ic_launcher)
                // 設置下載的圖片是否緩存在內存中
                .cacheInMemory(true)
                // 設置下載的圖片是否緩存在SD卡中
                .cacheOnDisc(true)
                // 是否考慮JPEG圖像EXIF參數(旋轉,翻轉)
                .considerExifParams(true)
                // 設置圖片以如何的編碼方式顯示
                .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
                // 設置圖片的解碼類型//
                .bitmapConfig(Bitmap.Config.RGB_565)
                // 設置圖片的解碼配置
                // .decodingOptions(options)
                // .delayBeforeLoading(int delayInMillis)//int
                // delayInMillis爲你設置的下載前的延遲時間
                // 設置圖片加入緩存前,對bitmap進行設置
                // .preProcessor(BitmapProcessor preProcessor)
                // 設置圖片在下載前是否重置,復位
                .resetViewBeforeLoading(true)
                // 是否設置爲圓角,弧度爲多少
                .displayer(new RoundedBitmapDisplayer(20))
                // 是否圖片加載好後漸入的動畫時間
                .displayer(new FadeInBitmapDisplayer(100))
                // 構建完成
                .build();
    }

ImageLoader的使用

        ImageLoader.getInstance().displayImage(imageUrl, imageView,options);
         // imageUrl代表圖片的URL地址,imageView代表承載圖片的IMAGEVIEW控件 , options   代表DisplayImageOptions配置文件  

清除緩存的方法

        //完全退出程序時,可以不調用
        ImageLoader.getInstance().clearDiskCache();//清除磁盤緩存
        ImageLoader.getInstance().clearMemoryCache();//清除內存緩存
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章