ImageLoder封裝工具類..
//初使化
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;
}
}