ImageLoader 加载图片

     目前Andorid主流的图片处理库框架之一,在Anroid图片处理中需要考虑的问题很多,例如OOM、图片缓存和网络图片加载、多线程问题及图片压缩处理等等负责的问题。但是Universal-imageLoader以及帮我们把这些问题处理好了,且对外提供了相应完善的请求API,我们只需要按照要求使用即可。

特点:

  • 支持本地图片和网络图片的多线程异步加载和缓存处理
  • 个性化的配置自己想买的ImagerLoader
  • 图片加载过程的监听回调
  • 自动对加载的托针对当前剩余内存进行裁剪优化,防止OOM
  • 较好的控制图片的加载过程,例如暂停托加载,重新开始加载图片

缺点:

      没有对本地文件压缩处理的相关API方法以及默认都是Src模式设置图片,没有针对BackGround熟悉开发API

 

配置:

  • 可以全局配置:在Application里进行配置
  • 可以针对单一加载图片的地方配置

 

例子:

      

public class MyApplication extends Application {

@SuppressLint("MissingSuperCall")
@Override
public void onCreate() {
initImageLoader();
}

  private void initImageLoader() {
ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(this);
builder.threadPoolSize(5);
builder.threadPriority(Thread.NORM_PRIORITY - 4);//
builder.diskCacheExtraOptions(600, 400, null);//
builder.memoryCacheExtraOptions(600, 400);//
builder.memoryCache(new UsingFreqLimitedMemoryCache(1024 * 1024 * 10));
builder.diskCacheSize(200 * 1024 * 1024); // 200Mb sd卡(本地)缓存的最大值
builder.diskCacheFileCount(100);
builder.diskCache(new UnlimitedDiskCache(new File(getExternalCacheDir(), "MyMobile")));
builder.imageDownloader(new BaseImageDownloader(this));
builder.writeDebugLogs();//打印日记
builder.diskCacheFileNameGenerator(new Md5FileNameGenerator());
ImageLoaderConfiguration imageLoaderConfiguration = builder.build();
ImageLoader.getInstance().init(imageLoaderConfiguration);
}
}

    public class MainActivity extends Activity {

  private ImageLoader imageLoader;
  public void ...{
   imageLoader = ImageLoader.getInstance();
   imageview=...
   imageLoader.displayImage("https://ss0.baidu.com/7Po3dSag_xI4khGko9WTAnF6hhy/image/h%3D300
/sign=edc450837e8b4710d12ffbccf3cfc3b2/b64543a98226cffc49721710b5014a90f603ea3c.jpg", imageview, getSimpleOptions());
  }
  private DisplayImageOptions getSimpleOptions() {
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.assess_delivery_ic) //设置图片在下载期间显示的图片
.showImageForEmptyUri(R.drawable.assess_delivery_ic)//设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.assess_delivery_ic) //设置图片加载/解码过程中错误时候显示的图片
.cacheInMemory(true)//设置下载的图片是否缓存在内存中
.cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中
.imageScaleType(ImageScaleType.IN_SAMPLE_INT)//设置图片以如何的编码方式显示
.bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型
.displayer(new RoundedBitmapDisplayer(10))
.build();//构建完成
return options;
}
}

转载于:https://www.cnblogs.com/wisdom-windy/p/9103688.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值