Imageloader的简单实用

1.初始化Imageloader

/*  继承application的类,就可以成为全局变量
 * application---》全局的一些配置,变量
 */
public class APP extends Application {
	// 首先创建一个Oncreate
	@Override
	public void onCreate() {

		super.onCreate();
		// 配置Imageloader
		initdata();

	}

	private void initdata() {
		ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
				getApplicationContext())//设置一个全局的上下文getApplicationContext
				.memoryCacheExtraOptions(480, 800)//内存缓存。。 
				// max width, max height,即保存的每个缓存文件的最大长宽
				.discCacheExtraOptions(480, 800, null)//磁盘缓存。。。
				// Can slow ImageLoader, use it carefully (Better don't use
				// it)/设置缓存的详细信息,最好不要设置这个
				.threadPoolSize(3)//允许开启的线程数量
				// 线程池内加载的数量
				.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)//磁盘缓存文件的数量
				
				// 自定义缓存路径
				.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
				//默认展示图片的选项 option--》选项
				.imageDownloader(new BaseImageDownloader(getApplicationContext(), 5 * 1000, 30 * 1000)) // connectTimeout
				//默认的imageloader下载地址(baseImageloader是实现类)																// (5
																				// s),
																				// readTimeout
																				// (30
																				// s)超时时间
				.writeDebugLogs() // Remove for release app
				.build();// 开始构建
		
        //用第三方的类Imageloager来实现。
		
	    ImageLoader.getInstance().init(config);//全局初始化此配置  

	}
}public class ImageloaderOptions {
	
    public static DisplayImageOptions Options(){
    	DisplayImageOptions options;  
        options = new DisplayImageOptions.Builder()
         .showImageOnLoading(R.drawable.ic_launcher) //设置图片在下载期间显示的图片  
         .showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片  
        .showImageOnFail(R.drawable.ic_launcher)  //设置图片加载/解码过程中错误时候显示的图片
        .cacheInMemory(true)//设置下载的图片是否缓存在内存中  
        .cacheOnDisc(true)//设置下载的图片是否缓存在SD卡中  
        .considerExifParams(true)  //是否考虑JPEG图像EXIF参数(旋转,翻转)
        .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)//设置图片以如何的编码方式显示  
        //.delayBeforeLoading(int delayInMillis)//int delayInMillis为你设置的下载前的延迟时间
        //设置图片加入缓存前,对bitmap进行设置  
        //.preProcessor(BitmapProcessor preProcessor)  
        .resetViewBeforeLoading(true)//设置图片在下载前是否重置,复位  
        .displayer(new RoundedBitmapDisplayer(60))//是否设置为圆角,弧度为多少  
        .displayer(new FadeInBitmapDisplayer(100))//是否图片加载好后渐入的动画时间  
        .build();//构建完成  
        
        return options;
    }
    
}
2.创建一个可以在加载图片过程中,设置图片现实的类

public class ImageloaderOptions {
	
    public static DisplayImageOptions Options(){
    	DisplayImageOptions options;  
        options = new DisplayImageOptions.Builder()
         .showImageOnLoading(R.drawable.ic_launcher) //设置图片在下载期间显示的图片  
         .showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片  
        .showImageOnFail(R.drawable.ic_launcher)  //设置图片加载/解码过程中错误时候显示的图片
        .cacheInMemory(true)//设置下载的图片是否缓存在内存中  
        .cacheOnDisc(true)//设置下载的图片是否缓存在SD卡中  
        .considerExifParams(true)  //是否考虑JPEG图像EXIF参数(旋转,翻转)
        .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)//设置图片以如何的编码方式显示  
        //.delayBeforeLoading(int delayInMillis)//int delayInMillis为你设置的下载前的延迟时间
        //设置图片加入缓存前,对bitmap进行设置  
        //.preProcessor(BitmapProcessor preProcessor)  
        .resetViewBeforeLoading(true)//设置图片在下载前是否重置,复位  
        .displayer(new RoundedBitmapDisplayer(60))//是否设置为圆角,弧度为多少  
        .displayer(new FadeInBitmapDisplayer(100))//是否图片加载好后渐入的动画时间  
        .build();//构建完成  
        
        return options;
    }
    
}

3.具体的应用

public class MainActivity extends Activity {
    private String url="http://g.hiphotos.baidu.com/zhidao/pic/item/9f510fb30f2442a79fbc68ded343ad4bd113021e.jpg";
    private String url1="http://cdn.duitang.com/uploads/item/201409/29/20140929183911_H4E8w.jpeg";
	private CircleImageView im;
	private CircleImageView im2;
	private CircleImageView im3;
	private CircleImageView im4;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button bt = (Button) findViewById(R.id.bt);
		im = (CircleImageView) findViewById(R.id.im);
		im2 = (CircleImageView) findViewById(R.id.im2);
		im3 = (CircleImageView) findViewById(R.id.im3);
		im4 = (CircleImageView) findViewById(R.id.im4);
	}
	public void loaderImage(View v){
		//使用Imageloager加载图片
		//1.配置application
		//2.实例化imageloader
		ImageLoader instance = ImageLoader.getInstance();
		//3.加载图片地址
//	instance.displayImage(url, im);
//	instance.displayImage(url, im2);
//	instance.displayImage(url, im3);
//	instance.displayImage(url, im4);
		//展示图片,展示图片的类型
	instance.displayImage(url1, im,ImageloaderOptions.Options());
		
	}

	

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值