Imageloader的简单使用

import java.io.File;

import android.app.Application;
import android.graphics.Bitmap;
import android.os.Environment;
import android.util.Log;

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.download.BaseImageDownloader;

public class MyApplication extends Application{
    
    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        Log.i("TAG", "自定义的application类调用了.....");
        //创建ImageLoader的默认配置
//        ImageLoaderConfiguration confing = ImageLoaderConfiguration.createDefault(this);
        //得到sdcard路径
        String sdpath = Environment.getExternalStorageDirectory().getPath();
        //自定义ImageLoaderConfiguration
        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)
//        .memoryCacheSizePercentage(13)
        .diskCache(new UnlimitedDiscCache(new File(sdpath+"/app1407a/imgcache")))//设置缓存的图片在sdcard中的存放位置
        .diskCacheSize(50 * 1024 * 1024)
        .diskCacheFileCount(100)
        .diskCacheFileNameGenerator(new Md5FileNameGenerator())//md5加密的方式,或new HashCodeFileNameGenerator()
        .imageDownloader(new BaseImageDownloader(this))
//        .imageDecoder(new BaseImageDecoder(true))
        .defaultDisplayImageOptions(null)//不适用默认的图片加载配置,使用自定义的
        .writeDebugLogs()
        .build();
        //初始化
        ImageLoader.getInstance().init(confing);
    }
    
    public static DisplayImageOptions getOptions(){
        //自定义加载图片的配置信息
        DisplayImageOptions option = new DisplayImageOptions.Builder()
        .showImageOnLoading(R.drawable.ic_launcher)// 设置图片下载期间显示的图片
        .showImageForEmptyUri(R.drawable.emptyurl) // 设置图片Uri为空或是错误的时候显示的图片
        .showImageOnFail(R.drawable.emptyurl)// 设置图片加载或解码过程中发生错误显示的图片
        .resetViewBeforeLoading(false)// default 设置图片在加载前是否重置、复位
//        .delayBeforeLoading(1000)// 下载前的延迟时间
        .cacheInMemory(true)// default  设置下载的图片是否缓存在内存中
        .cacheOnDisk(true)// default  设置下载的图片是否缓存在SD卡中
        .considerExifParams(false)
        .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)//设置图片的显示比例
        .bitmapConfig(Bitmap.Config.RGB_565)// default 设置图片的解码类型
//        .displayer(new RoundedBitmapDisplayer(75))//设置图片的圆角半径
        .displayer(new FadeInBitmapDisplayer(8000))//设置图片显示的透明度过程时间
        .build();
        
        return option;
    }

public void main(){

//最后的调用

ImageLoader.getInstance().displayImage(url1, img, MyApplication.getOptions(), null, new ImageLoadingProgressListener() {
            
            @Override
            public void onProgressUpdate(String arg0, View arg1, int arg2, int arg3) {
                // TODO Auto-generated method stub
                Log.i("TAG", arg0+",,"+arg2+","+arg3);
                float rs = ((float)arg2)/arg3;
                pro.setMessage("当前加载到:"+rs*100+"%");
                if(arg2 == arg3){
                    pro.cancel();
                }

 

 

/**

* 其它

**/

// 创建imageLoader的默认配置
        ImageLoaderConfiguration configuration = ImageLoaderConfiguration
                .createDefault(this);
        // 初始化
        ImageLoader.getInstance().init(configuration);
            }
        });
}

转载于:https://www.cnblogs.com/MyZsBlog/p/5381765.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值