ImageLoader快取,清空圖片
阿新 • • 發佈:2019-01-26
import android.content.Context;
import android.graphics.Bitmap;
import com.baway.month.R;
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.ImageLoaderConfiguration.Builder;
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.display.FadeInBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
public class ImageLoaderUtils {
/**
* 初始化ImageLoaderConfiguration 這個可以只做簡單的初始化,此方法建議在 Application中進行初始化
*
* @param context
*/
public static void initConfiguration(Context context) {
Builder configuration = new ImageLoaderConfiguration.Builder(context);
// --------------------------------------------------------------------
// 本段程式碼,如果是測試使用時,可以不新增,不影響ImageLoader的正常使用
configuration.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 將圖片資訊快取到該路徑下
// default 磁碟快取的大小
.diskCacheSize(50 * 1024 * 1024)
// 磁碟快取檔案的個數
.diskCacheFileCount(100)
// 磁碟快取的檔名的命名方式//一般使用預設值 (獲取檔名稱的hashcode然後轉換成字串)或MD5 new
// Md5FileNameGenerator()原始檔的名稱同過md5加密後儲存
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
// 設定預設的圖片載入
// 使用預設的圖片解析器
.imageDecoder(new BaseImageDecoder(true)) // default
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.writeDebugLogs();
// ---------------------------------------------------------------------
ImageLoader.getInstance().init(configuration.build());
}
/**
* 初始化DisplayImageOptions
*
* @param context
* @return
*/
public static DisplayImageOptions initOptions() {
DisplayImageOptions options = new DisplayImageOptions.Builder()
// 設定圖片在下載期間顯示的圖片
.showImageOnLoading(R.drawable.ic_launcher)
// 設定圖片Uri為空或是錯誤的時候顯示的圖片
.showImageOnFail(R.drawable.ic_launcher)
// 設定下載的圖片是否快取在記憶體中
.cacheInMemory(true)
// 設定下載的圖片是否快取在SD卡中
.cacheOnDisc(true)
// --------------------------------------------------------------------
// 如果您只想簡單使用ImageLoader這塊也可以不用配置
// 是否考慮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(50))
// 是否圖片載入好後漸入的動畫時間
.displayer(new FadeInBitmapDisplayer(100))
// 構建完成
.build();
return options;
}
}
import android.graphics.Bitmap;
import com.baway.month.R;
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.ImageLoaderConfiguration.Builder;
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.display.FadeInBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
public class ImageLoaderUtils {
/**
* 初始化ImageLoaderConfiguration 這個可以只做簡單的初始化,此方法建議在 Application中進行初始化
*
* @param context
*/
public static void initConfiguration(Context context) {
Builder configuration = new ImageLoaderConfiguration.Builder(context);
// --------------------------------------------------------------------
// 本段程式碼,如果是測試使用時,可以不新增,不影響ImageLoader的正常使用
configuration.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 將圖片資訊快取到該路徑下
// default 磁碟快取的大小
.diskCacheSize(50 * 1024 * 1024)
// 磁碟快取檔案的個數
.diskCacheFileCount(100)
// 磁碟快取的檔名的命名方式//一般使用預設值 (獲取檔名稱的hashcode然後轉換成字串)或MD5 new
// Md5FileNameGenerator()原始檔的名稱同過md5加密後儲存
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
// 設定預設的圖片載入
// 使用預設的圖片解析器
.imageDecoder(new BaseImageDecoder(true)) // default
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.writeDebugLogs();
// ---------------------------------------------------------------------
ImageLoader.getInstance().init(configuration.build());
}
/**
* 初始化DisplayImageOptions
*
* @param context
* @return
*/
public static DisplayImageOptions initOptions() {
DisplayImageOptions options = new DisplayImageOptions.Builder()
// 設定圖片在下載期間顯示的圖片
.showImageOnLoading(R.drawable.ic_launcher)
// 設定圖片Uri為空或是錯誤的時候顯示的圖片
.showImageOnFail(R.drawable.ic_launcher)
// 設定下載的圖片是否快取在記憶體中
.cacheInMemory(true)
// 設定下載的圖片是否快取在SD卡中
.cacheOnDisc(true)
// --------------------------------------------------------------------
// 如果您只想簡單使用ImageLoader這塊也可以不用配置
// 是否考慮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(50))
// 是否圖片載入好後漸入的動畫時間
.displayer(new FadeInBitmapDisplayer(100))
// 構建完成
.build();
return options;
}
}