图片异步加载ImageLoader

来源:互联网 发布:springmvc4返回json串 编辑:程序博客网 时间:2024/05/19 13:09

MyApplication类

package com.bwie.imageloader;


import java.io.File;
import java.io.IOException;
import java.io.InputStream;


import com.nostra13.universalimageloader.cache.disc.DiskCache;
import com.nostra13.universalimageloader.cache.disc.impl.LimitedAgeDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.FIFOLimitedMemoryCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration.Builder;
import com.nostra13.universalimageloader.utils.IoUtils.CopyListener;


import android.app.Application;
import android.graphics.Bitmap;


public class MyApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
getApplication();
}


private void getApplication() {
//app可以申请的最大内存
int max=(int) Runtime.getRuntime().maxMemory();
File file=new File("本地内存卡的路径");
ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(this);
ImageLoaderConfiguration.Builder builder=new ImageLoaderConfiguration.Builder(this)
.memoryCacheSize(100)//设置内存缓存文件的最大个数
.threadPoolSize(8)//设置线程池线程个数
.memoryCache(new FIFOLimitedMemoryCache(max/8))//设置内存最大缓存,默认最大缓存是1/8
.diskCache(new LimitedAgeDiskCache(file, 5*1000))//设置磁盘(内存卡)最大缓存,参数一:本地内存卡路径,参数二:最大的删除时间
.diskCacheFileNameGenerator(new Md5FileNameGenerator());
ImageLoader.getInstance().init(builder.build());
}
}


MaActivity类

package com.bwie.imageloader;


import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.listener.PauseOnScrollListener;


import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.ListView;


public class MainActivity extends Activity {


private ListView lv_list;
private String uri="http://t12.baidu.com/it/u=3892037522,4148855209&fm=59";
private String arr[]={
    "http://t11.baidu.com/it/u=38767480,4056423661&fm=59",
"http://t12.baidu.com/it/u=2188089986,1772099895&fm=59",
"http://t10.baidu.com/it/u=4010714787,2970343447&fm=59",
"http://t11.baidu.com/it/u=2520234337,3270250852&fm=59",
"http://t10.baidu.com/it/u=2395220391,4053197141&fm=59",
"http://t12.baidu.com/it/u=3892037522,4148855209&fm=59",
"http://t12.baidu.com/it/u=176596478,1719464859&fm=59",
"http://t10.baidu.com/it/u=2563391112,3174229346&fm=59",
"http://t11.baidu.com/it/u=38767480,4056423661&fm=59",
"http://t12.baidu.com/it/u=2188089986,1772099895&fm=59",
"http://t10.baidu.com/it/u=4010714787,2970343447&fm=59",
"http://t11.baidu.com/it/u=2520234337,3270250852&fm=59",
"http://t10.baidu.com/it/u=2395220391,4053197141&fm=59",
"http://t12.baidu.com/it/u=3892037522,4148855209&fm=59",
"http://t12.baidu.com/it/u=176596478,1719464859&fm=59",
"http://t10.baidu.com/it/u=2563391112,3174229346&fm=59",
"http://t11.baidu.com/it/u=38767480,4056423661&fm=59",
"http://t12.baidu.com/it/u=2188089986,1772099895&fm=59",
"http://t10.baidu.com/it/u=4010714787,2970343447&fm=59",
"http://t11.baidu.com/it/u=2520234337,3270250852&fm=59",
"http://t10.baidu.com/it/u=2395220391,4053197141&fm=59",
"http://t12.baidu.com/it/u=3892037522,4148855209&fm=59",
"http://t12.baidu.com/it/u=176596478,1719464859&fm=59",
"http://t10.baidu.com/it/u=2563391112,3174229346&fm=59",
"http://t11.baidu.com/it/u=38767480,4056423661&fm=59",
"http://t12.baidu.com/it/u=2188089986,1772099895&fm=59",
"http://t10.baidu.com/it/u=4010714787,2970343447&fm=59",
"http://t11.baidu.com/it/u=2520234337,3270250852&fm=59",
"http://t10.baidu.com/it/u=2395220391,4053197141&fm=59",
"http://t12.baidu.com/it/u=3892037522,4148855209&fm=59",
"http://t12.baidu.com/it/u=176596478,1719464859&fm=59",
"http://t10.baidu.com/it/u=2563391112,3174229346&fm=59",
"http://t11.baidu.com/it/u=38767480,4056423661&fm=59",
"http://t12.baidu.com/it/u=2188089986,1772099895&fm=59",
"http://t10.baidu.com/it/u=4010714787,2970343447&fm=59",
"http://t11.baidu.com/it/u=2520234337,3270250852&fm=59",
"http://t10.baidu.com/it/u=2395220391,4053197141&fm=59",
"http://t12.baidu.com/it/u=3892037522,4148855209&fm=59",
"http://t12.baidu.com/it/u=176596478,1719464859&fm=59",
"http://t10.baidu.com/it/u=2563391112,3174229346&fm=59",
"http://t11.baidu.com/it/u=38767480,4056423661&fm=59",
"http://t12.baidu.com/it/u=2188089986,1772099895&fm=59",
"http://t10.baidu.com/it/u=4010714787,2970343447&fm=59",
"http://t11.baidu.com/it/u=2520234337,3270250852&fm=59"
    };


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv_list=(ListView)findViewById(R.id.lv_list);
lv_list.setOnScrollListener(new PauseOnScrollListener(ImageLoader.getInstance(),true, true));
lv_list.setAdapter(new ImageAdapter(this,arr));


}
}


ImageAdapter

package com.bwie.imageloader;


import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;


import android.content.Context;
import android.database.DataSetObserver;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;


public class ImageAdapter extends BaseAdapter {


private Context context;
private String arr[];
public ImageAdapter(Context context, String[] arr) {
super();
this.context = context;
this.arr = arr;
}
@Override
public int getCount() {
return arr.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder vh;
if (convertView==null) {
vh=new ViewHolder();
convertView=LayoutInflater.from(context).inflate(R.layout.item, null);
vh.iv_img=(ImageView) convertView.findViewById(R.id.iv_img);
convertView.setTag(vh);
}else{
vh=(ViewHolder)convertView.getTag();
}
ImageLoader instance = ImageLoader.getInstance();
instance.init(ImageLoaderConfiguration.createDefault(context));
instance.displayImage(arr[position], vh.iv_img);
return convertView;
}
class ViewHolder{
ImageView iv_img;
}
}

1 0
原创粉丝点击