MyApp方法
package com.bwie.imageloaderdemo;
import java.io.File;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
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.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import android.app.Application;
import android.graphics.Bitmap;
public class MyApp extends Application{
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
//初始化imageloader
// ImageLoaderConfiguration defaultConf = ImageLoaderConfiguration.createDefault(getApplicationContext());
//进行详细的设置
ImageLoaderConfiguration confing = new ImageLoaderConfiguration.Builder(this)
.memoryCacheExtraOptions(480, 800)// default = device screen dimensions 内存缓存文件的最大长宽
.diskCacheExtraOptions(480, 800, null)// 本地缓存的详细信息(缓存的最大长宽),最好不要设置这个
// .taskExecutor(null)
// .taskExecutorForCachedImages(null)
.threadPoolSize(3)// default 线程池内加载的数量
.threadPriority(Thread.NORM_PRIORITY-2) // default 设置当前线程的优先级
.tasksProcessingOrder(QueueProcessingType.FIFO)//任务的处理顺序
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))设置自己的内存缓存大小 2m
.memoryCacheSize(2 * 1024 * 1024)
// 设置内存缓存最大大小占当前应用可用内存的百分比 默认为一个当前应用可用内存的1/8
// .memoryCacheSizePercentage(13)
.diskCache(new UnlimitedDiscCache(new File("/sdcard/baweikaoshi")))//设置缓存的图片在sdcard中的存放位置
.diskCacheSize(50 * 1024 * 1024)
.diskCacheFileCount(100)
.diskCacheFileNameGenerator(new Md5FileNameGenerator())//md5加密的方式,或new HashCodeFileNameGenerator()
.imageDownloader(new BaseImageDownloader(this))
// .imageDecoder(new BaseImageDecoder(true))
// .defaultDisplayImageOptions(null)//不适用默认的图片加载配置,使用自定义的
.defaultDisplayImageOptions(getOptions())//使用自己配置的图片加载配置,使用自定义的
.writeDebugLogs()
.build();
//初始化
ImageLoader.getInstance().init(confing);
}
//配置图片的加载模式
public DisplayImageOptions getOptions(){
//自定义加载图片的配置信息
DisplayImageOptions option = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ph9)// 设置图片下载期间显示的图片
.showImageForEmptyUri(R.drawable.ic_launcher) // 设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.ic_launcher)// 设置图片加载或解码过程中发生错误显示的图片
.resetViewBeforeLoading(false)// default 设置图片在加载前是否重置、复位
// .delayBeforeLoading(1000)// 下载前的延迟时间
.cacheInMemory(false)// default 设置下载的图片是否缓存在内存中
.cacheOnDisk(false)// default 设置下载的图片是否缓存在SD卡中
.considerExifParams(false)
.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)//设置图片的显示比例
.bitmapConfig(Bitmap.Config.RGB_565)// default 设置图片的解码类型
// .displayer(new RoundedBitmapDisplayer(10))//设置图片的圆角半径
.displayer(new FadeInBitmapDisplayer(8000))//设置图片显示的透明度过程时间
.build();
return option;
}
}