异步获取图片

导包

清单文件

application中写下面代码,在执行项目之前会运行下面的代码

android:name=".MyApp"

第一步创建方法

public class MyApp extends Application {

    @Override

    public void onCreate() {

        super.onCreate();

 

        //自定义sd卡路径

//        File cachefile=getExternalCacheDir();//android系统app默认的缓存路径 sd卡->android->data->包名->cache

        //好处:将App卸载之后,此目录下的缓存图片一并被删除

        File cachefile=new File(Environment.getExternalStorageDirectory().getPath()+"/abc");

 

        //初使化

        ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(this)

                .memoryCacheExtraOptions(480, 800)//缓存图片最大的长和宽

                .threadPoolSize(2)//线程池的数量

                .threadPriority(4)

                .memoryCacheSize(30*1024*1024)//设置内存缓存区大小

                .diskCacheSize(30*1024*1024)//设置sd卡缓存区大小

                .diskCache(new UnlimitedDiscCache(cachefile))//自定义缓存目录

                .writeDebugLogs()//打印日志内容

                .diskCacheFileNameGenerator(new Md5FileNameGenerator())//给缓存的文件名进行md5加密处理

                .build();

        ImageLoader.getInstance().init(configuration);

    }

第二步适配器调用方法

    private DisplayImageOptions options;

    public ListViewAdapter( List<ResultData.ItemBean> data, Context context) {

        this.data = data;

        this.context = context;

        //创建

        options=new DisplayImageOptions.Builder()

                .cacheInMemory(true)//使用内存缓存

                .cacheOnDisk(true)//使用磁盘缓存

                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式

                .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式

                .displayer(new RoundedBitmapDisplayer(50))//设置圆角

                .build();

    }

第三步下载图片

        ImageLoader.getInstance().displayImage(data.get(i).getThumbnail(),holder.img,options);



阅读更多
上一篇网络请求验证
下一篇横向滑动菜单(不用插件)
想对作者说点什么? 我来说一句

GCD异步获取图片

2016年05月26日 55KB 下载

没有更多推荐了,返回首页

关闭
关闭