图片异步加载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;
}
}
- 图片异步加载ImageLoader
- ImageLoader异步加载图片
- ImageLoader 图片异步加载
- imageloader异步加载网络图片
- ImageLoader实现图片异步加载
- ImageLoader图片异步加载详解
- 使用ImageLoader实现图片异步加载
- 使用ImageLoader实现图片异步加载
- 使用ImageLoader实现图片异步加载
- 使用ImageLoader实现图片异步加载
- 使用ImageLoader实现图片异步加载
- 使用ImageLoader实现图片异步加载
- 使用Imageloader异步加载网络图片
- 使用ImageLoader实现图片异步加载
- 异步加载图片框架ImageLoader的使用
- ImageLoader异步加载图片框架浅谈
- Android 使用ImageLoader实现图片异步加载
- 使用ImageLoader实现图片异步加载
- iOS学习笔记64-Apple Pay编程指南
- MyBatis核心SqlSessionFactory的创建
- 图像物体检测识别中的LBP特征
- Python中三引号的区别
- Windows进程间通信
- 图片异步加载ImageLoader
- make ARCH=arm sama5_defconfig
- Spring工作原理
- 个人机房重构——存储过程
- BitmapFactory.Options 解决加载大图片OOM
- 如何让android studio在运行时自带签名
- IPC网络摄像机app端开发问题解决思路
- Win下获取GetLastError()的文本信息
- DeepID算法实践