android 图片加载缓存图片,Android开发中ImageLoder进行图片加载和缓存

package com.longfei.admin.imageloder_text;

import android.app.application;

import android.graphics.bitmap;

import android.os.environment;

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;

import java.io.file;

/**

* created by admin on 2016/4/9.

*/

public class imageloading extends application {

@override

public void oncreate() {

// todo auto-generated method stub

super.oncreate();

imageloaderconfiguration config = new imageloaderconfiguration.builder(

this)

.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)

// 缓存的文件数量

.disccache(

new unlimiteddisccache(new file(environment

.getexternalstoragedirectory()

+ "/myapp/imgcache")))

// 自定义缓存路径

.defaultdisplayimageoptions(getdisplayoptions())

.imagedownloader(

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

.writedebuglogs() // remove for release app

.build();// 开始构建

imageloader.getinstance().init(config);

}

private displayimageoptions getdisplayoptions() {

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)// 设置图片以如何的编码方式显示

.bitmapconfig(bitmap.config.rgb_565)// 设置图片的解码类型//

// .delaybeforeloading(int delayinmillis)//int

// delayinmillis为你设置的下载前的延迟时间

// 设置图片加入缓存前,对bitmap进行设置

// .preprocessor(bitmapprocessor preprocessor)

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

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

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

.build();// 构建完成

return options;

}

}

package com.longfei.admin.imageloder_text;

import android.app.activity;

import android.graphics.bitmap;

import android.os.bundle;

import android.util.log;

import android.view.view;

import android.widget.imageview;

import com.nostra13.universalimageloader.core.imageloader;

import com.nostra13.universalimageloader.core.assist.failreason;

import com.nostra13.universalimageloader.core.listener.imageloadinglistener;

/**

* 1、 universal-imageloader的配置

*

* 2、用universal-imageloader加载网络图片和本地图片

*

* @author administrator

*/

public class mainactivity extends activity {

private imageloader loader;

private imageview iv_img;

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

loader=imageloader.getinstance();//实例化imageloder

iv_img=(imageview)findviewbyid(r.id.iv_img);

string url="file:///"+"加载本地图片";

//加载网络图片,第一个参数为路径

// loader.displayimage("http://static.oschina.net/uploads/user/494/988131_100.jpg?t=1419303093000",iv_img);

loader.displayimage("http://static.oschina.net/uploads/user/494/988131_100.jpg?t=1419303093000", iv_img, new imageloadinglistener() {

@override

public void onloadingstarted(string s, view view) {

log.i("info","加载开始");

}

@override

public void onloadingfailed(string s, view view, failreason failreason) {

log.i("info","加载失败");

}

@override

public void onloadingcomplete(string s, view view, bitmap bitmap) {

log.i("info","加载完毕");

}

@override

public void onloadingcancelled(string s, view view) {

log.i("info","加载取消");

}

});

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值