当Glide遇到wrap_content

当ImageView的宽高属性设置为wrap_content时,Glide由于不知道ImageView的实际宽高,所以加载的图片不会做压缩处理,完全按照图片实际大小加载,并且IamgeView的宽高为实际图片的宽高像素值,此时,ImageView控件显示很可能异常。

解决方案:

1、如果知道ImageView的宽高,直接把wrap_content改成实际大小,如60dp

2、加载图片时调用一下override(int width,int height)

3、先使用 Glide 把图片的原图请求加载过来,然后再按原图来显示图片。

Glide.with(mContext)
.load(url)
.asBitmap()
.into(new SimpleTarget() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {
imageview.setImageBitmap(resource);
}
});

弊端:这种方式由于Glide加载图片时是以全分辨率加载的,当加载图片过大且图片很多时,可能造成 OOM。同时使用在列表上复用时会造成条目错乱错位。

你可能感兴趣的:(android开发)