问题:项目中使用了Vector 文件并使用Glide 去加载图片 ,但是4.4手机在加载的时候就会出现异常。
异常信息:
Resources$NotFoundException: File res/drawable/logo.xml from drawable resource ID #0x7f0800b8. If the resource you are trying to use is a vector resource, you may be referencing it in an unsupported way. See AppCompatDelegate.setCompatVectorFromResourcesEnabled() for more info.
检查:
项目中build.gradle都配置好了:
defaultConfig {
....
vectorDrawables.useSupportLibrary = true
....
}
也在BaseActivity中添加了
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
但是问题依旧,所以应该是Glide 的兼容性问题。
处理方法:
需要将vector文件先抽取成drawable然后再加载,即可成功加载。
Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.logo);
Glide.with(mContext).load(item.getImg()).dontAnimate().error(drawable).into((AppCompatImageView)
helper.getView(R.id.addassets_token_img_iv));