1
android:name="...."
配置权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2. 在 public class MyApplication extends Application onCreate()中初使化配置
private void initImageLoaderCongruation() {
String processName = DubFiles.getProcessName(this, android.os.Process.myPid());
if (!TextUtils.isEmpty(processName) && processName.equals(getPackageName())) {
//ExceptionHandlerHelper.getInstance().init(this,StephenConfig.LogFileName);//打印logcat
ImageLoaderConfiguration config = new ImageLoaderConfiguration
.Builder(this)
/*.memoryCacheExtraOptions(480, 800) //max width, max height,即保存的每个缓存文件的最大长宽*/
.threadPoolSize(3)//线程池内加载的数量
.threadPriority(Thread.NORM_PRIORITY - 2)//解释:当同一个Uri获取不同大小的图片,缓存到内存时,只缓存一个。默认会缓存多个不同的大小的相同图片
//.denyCacheImageMultipleSizesInMemory()//拒绝缓存多个图片。
.memoryCache(new WeakMemoryCache())//缓存策略你可以通过自己的内存缓存实现 ,这里用弱引用,缺点是太容易被回收了,不是很好!
.memoryCacheSize(2 * 1024 * 1024)//设置内存缓存的大小
.discCacheSize(50 * 1024 * 1024)//设置磁盘缓存大小 50M
.discCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密
.tasksProcessingOrder(QueueProcessingType.LIFO)//设置图片下载和显示的工作队列排序
//.diskCache(new UnlimitedDiskCache(cacheDir)) //自定义缓存路径
.discCacheFileCount(100) //缓存的文件数量
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())//显示图片的参数,默认:DisplayImageOptions.createSimple()
.imageDownloader(new BaseImageDownloader(this, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
.writeDebugLogs() //打开调试日志
.build();//开始构建
ImageLoader.getInstance().init(config);//全局初始化此配置
}
}
其它配置
//清除缓存
ImageLoader.getInstance().clearDiskCache();
ImageLoader.getInstance().clearMemoryCache();