android下的图片下载方法

public class AsyncImageLoader {

//将下载的图片保存到软引用中

private HashMap<String,SoftReference<Drawable>> imageCache;

public AsyncImageLoader(){
imageCache = new HashMap<String,SoftReference<Drawable>>();
}
public Drawable loadImage(final String url,final ImageView image,final callBack back){
//查询缓存中是否已经缓存该图片
if(imageCache.containsKey(url)){
SoftReference<Drawable> drawable = imageCache.get(url);
Drawable draw = drawable.get();
return draw;
}
final Handler handler = new Handler(){
public void handleMessage(Message msg){
back.imageLoad((Drawable)msg.obj,url,image);
}

};

 //下载图片

new Thread(){
public void run(){
Drawable drawa = Utils.getInstance().getDrawablefromUrl(url);
imageCache.put(url, new SoftReference(drawa));
Message msg = handler.obtainMessage(0,drawa);
handler.sendMessage(msg);
}
}.start();
return null;
}
public interface callBack{
public void imageLoad(Drawable drawable,String url,ImageView image);//通过回调函数对结果进行处理
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值