Android图片加载框架Android-Universal-Image-Loader
2016-03-04 16:11
357 查看
Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
以上转自:xiaanming博客==========================
开发常用:
1. 加载图片常用:displayImage()加载图片
① 使用displayImage()比使用loadImage()方便很多,也不需要添加ImageLoadingListener接口,直接将ImageView作为参数传递到displayImage()中就行了
②添加了一个图片加载中ImageVIew上面显示的图片,以及图片加载出现错误显示的图片,刚开始显示ic_stub图片,如果图片加载成功显示图片,加载产生错误显示ic_error
③ 根据控件的大小和imageScaleType来自动裁剪图片
④ OOM改善:减少线程池中线程的个数等
代码,下面是我写的一个ViewPager的Adapter:
package com.baofoo.mobile.wallet.home; import android.app.Activity; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.baofoo.mobile.wallet.R; import com.baofoo.mobile.wallet.common.manager.ClickFilter; import com.baofoo.mobile.wallet.home.domain.Banners; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; /** * 首页banners Adapter * Created by zst on 2016/3/15. */ public class BannersAdapter extends PagerAdapter { private Activity activity; private List<Banners> bannersList; private ImageLoader imageLoader; private DisplayImageOptions options; public BannersAdapter(Activity activity, List<Banners> bannersList) { this.activity = activity; this.bannersList = bannersList; imageLoader = ImageLoader.getInstance(); options = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.finance_advert_default) .showImageForEmptyUri(R.drawable.finance_advert_default) .showImageOnFail(R.drawable.finance_advert_default) .cacheInMemory(true) .cacheOnDisk(true) .build(); } @Override public int getCount() { return bannersList.size(); } @Override public boolean isViewFromObject(View view, Object o) { return view == o; } @Override public Object instantiateItem(ViewGroup container, final int position) { ImageView imageView = new ImageView(activity); imageView.setScaleType(ImageView.ScaleType.FIT_XY);// 基于控件大小填充图片 imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ClickFilter.clickFilterUrl(activity, bannersList.get(position).click); } }); imageLoader.displayImage(bannersList.get(position).img, imageView, options); //String imgUrl = "https://ad.my.baofoo.com/data/mandaojr/upload-file/advertisingPic/20160315/5048f02607708c0e2986a76d747f7413.jpg"; //imageLoader.displayImage(imgUrl, imageView, options); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }
2. 加载https://
官网的jar包不能加载https://,下载链接:https://github.com/nostra13/Android-Universal-Image-Loader
但是实际开发中需要加载https://的图片,所以有些大牛就重写了universal-image-loader,imageloader下载链接:http://download.csdn.net/detail/u012246458/9477808
相关文章推荐
- 安卓应用的版本更新
- android布局--总结
- Android两种杀掉进程方式总结(System.exit()和Process.killProcess())
- Android之 ListActivity 的使用和在 ListView中添加图片文字
- Android Studio 优秀插件(一):GsonFormat
- 桌面虚拟化传输协议之android spice及spice源码分析之server(1)
- TextView/EditText各种各样的效果
- Android:30分钟弄明白Touch事件分发机制
- 初试Android基于Vuforia开发AR
- Android 流量分析API
- Android中 android:layout_weight 属性 完美解释
- Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
- 待实验:Android 增量升级
- Android安全专项-Xposed劫持用户名密码实践
- android开发环境搭建(Studio版)
- Android事件分发机制(下)
- Android邮件发送详解 .
- android开发使用的工具类
- 【Android】sendMessage与sendEmptyMessage的异同
- 今天运行Android studio模拟器时提示出现错误