ImageLoader开源框架

来源:互联网 发布:合肥少儿编程培训机构 编辑:程序博客网 时间:2024/05/02 07:26

import java.io.File;

import android.app.Application;

import android.graphics.Bitmap;

import android.os.Environment;


import com.example.androidimageloader.R;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;

import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;

import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;

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;


public class MyApplication extends Application {


@Override

public void onCreate() {

// TODO Auto-generated method stub

super.onCreate();

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(

this)

.memoryCacheExtraOptions(480, 800)

.threadPoolSize(3)//1-5

// 线程池内加载的数量

.threadPriority(Thread.NORM_PRIORITY - 2)

.denyCacheImageMultipleSizesInMemory()

.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))

// You can pass your own memory cache

// implementation/你可以通过自己的内存缓存实现

.memoryCacheSize(2 * 1024 * 1024)

.discCacheSize(50 * 1024 * 1024)

.discCacheFileNameGenerator(new Md5FileNameGenerator())

// 将保存的时候的URI名称用MD5 加密

.tasksProcessingOrder(QueueProcessingType.LIFO)

.discCacheFileCount(100)

// 缓存的文件数量

.discCache(

new UnlimitedDiscCache(new File(Environment

.getExternalStorageDirectory()

+ "/myApp/img")))

// 自定义缓存路径


//如果设置ImageLoader的配置为全局配置的话,在构造ImageLoader实例化对象的时候,需要ImageLoaderConfiguration中

//通过下面的这个方法,来设置全局的配置,在调用imageLoader的.displayImage时使用3个参数的方法即可,不设置为全局的配置

//则需要的使用的地方,进行局部的配置设置,使用4个参数的displayImage()方法

//参数类型为,DisplayImageOptions

.defaultDisplayImageOptions(options())

.imageDownloader(

new BaseImageDownloader(this, 5 * 1000, 30 * 1000))

.writeDebugLogs() // Remove for release app

.build();// 开始构建

//创建ImageLoader的实例化对象

ImageLoader.getInstance().init(config);

}

private DisplayImageOptions options (){

DisplayImageOptions options;

options =new DisplayImageOptions.Builder()

.showImageOnFail(R.drawable.ic_launcher) // 设置图片下载失败默认

.showImageForEmptyUri(R.drawable.ic_launcher)// 设置图片Uri为空的时候显示的图片

.showImageOnLoading(R.drawable.ic_launcher)//下载中

.cacheInMemory(true)// 设置下载的图片是否缓存在内存中

.cacheOnDisk(true)// 设置下载的图片是否缓存在SD卡中

.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)// 设置图片以如何的编码方式显示

.bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类型//

.resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位

.displayer(new RoundedBitmapDisplayer(20))// 是否设置为圆角,弧度为多少

.displayer(new FadeInBitmapDisplayer(100))// 是否图片加载好后渐入的动画时间

.build();// 构建完成

return options;

}

}


0 0
原创粉丝点击