上一篇文章介绍了如何基于Glide进行二次封装。
基于Glide的二次封装
更多代码可以查询本人GitHub:欢迎阅读,star点起来。
Glide二次封装库源码
本篇文章将详细讲述如何使用。
#初始化
在gradle中添加如下配置
compile 'com.libin.imageloader:ImageLoader:1.0.3'
在Application中:
ImageLoader.init(getApplicationContext());
为了防止oom,加入如下代码,清理内存:
@Override
public void onTrimMemory(int level) {
super.onTrimMemory(level);
ImageLoader.trimMemory(level);
}
@Override
public void onLowMemory() {
super.onLowMemory();
ImageLoader.clearAllMemoryCaches();
}
#混淆
在proguard-rules中添加如下
-dontwarn okio.**
#API详解
##一.入口方法
该方法返回SingleConfig.ConfigBuilder
ImageLoader.with(this)
二.出口方法
asBitmap(BitmapListener bitmapListener) // 使用bitmap不显示到imageview
into(View targetView) //加载到imageview中去
##三.加载图片的分辨率—override
在不添加此方法的时候,系统会默认加载所需大小的图片,此方法用于改变加载图片的分辨率,并不是改变图片大小。
override(int oWidth, int oHeight)
##四.缩略图—thumbnail
在没有完全加载出来图片时候先显示规定大小的缩略图,如果直接加载出来图片,则不现实缩略图。缩略图不能与圆角矩形同时使用。
thumbnail(float thumbnail)
##五.加载Gif
ImageLoader.with(this)
.url("https://isparta.github.io/compare-webp/image/gif_webp/gif/1.gif")
.placeHolder(R.mipmap.ic_launcher)
.scale(ScaleMode.FIT_CENTER)
.into(iv_test4);
注: 这里在使用的时候要添加.diskCacheStrategy(DiskCacheStrategy.SOURCE)
不然会出现加载网络gif速度慢或者不显示的情况
##六.加载JPEG
ImageLoader.with(this)
.url("https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2796659031,1466769776&fm=80&w=179&h=119&img.JPEG")
.placeHolder(R.mipmap.ic_launcher)
.scale(ScaleMode.FIT_CENTER)
.into(iv_test5);
##七.加载png
ImageLoader.with(this) .url("http://s1.dwstatic.com/group1/M00/86/4A/81beb00a44bc52b4fdd46285de8f8f00.png")
.placeHolder(R.mipmap.ic_launcher)
.scale(ScaleMode.FIT_CENTER)
.into(iv_test3);
##八.加载jpg
ImageLoader.with(this)
.url("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1490944508&di=671845045c66356487c1a539c4ed0717&imgtype=jpg&er=1&src=http%3A%2F%2Fattach.bbs.letv.com%2Fforum%2F201606%2F27%2F185306g84m4gsxztvzxjt5.jpg")
.placeHolder(R.mipmap.ic_launcher)
.scale(ScaleMode.FIT_CENTER)
.into(iv_test2);