Android 使用Glide加载XML向量明智吗
Glide知道如何区分图像和向量吗?在内存使用和缓存管理方面,使用Glide加载XML向量有什么优势吗Android 使用Glide加载XML向量明智吗,android,vector,drawable,Android,Vector,Drawable,Glide知道如何区分图像和向量吗?在内存使用和缓存管理方面,使用Glide加载XML向量有什么优势吗 GlideApp.with(imageView) .load(R.drawable.my_xml_vector) .into(imageView); 如果我选择直接加载它,我应该担心它的回收吗 imageView.setImageResource(R.drawable.my_xml_vector); 在这两种情况下,如果要加载
GlideApp.with(imageView)
.load(R.drawable.my_xml_vector)
.into(imageView);
如果我选择直接加载它,我应该担心它的回收吗
imageView.setImageResource(R.drawable.my_xml_vector);
在这两种情况下,如果要加载大型图像,则应在使用之前根据需要缩放图像。在某些情况下,如果不这样做,可能会产生
outOfMemoryError
。加载前,可以使用以下方法缩放图像
iv.setImageBitmap(decodeResource(getResources(), R.drawable.big_image));
private static Bitmap decodeResource(Resources res, int id) {
Bitmap bitmap = null;
BitmapFactory.Options options = new BitmapFactory.Options();
for (options.inSampleSize = 1; options.inSampleSize <= 32; options.inSampleSize++) {
try {
bitmap = BitmapFactory.decodeResource(res, id, options);
Log.d(TAG_LOG, "Decoded successfully for sampleSize " + options.inSampleSize);
break;
} catch (OutOfMemoryError outOfMemoryError) {
// If an OutOfMemoryError occurred, we continue with for loop and next inSampleSize value
Log.e(TAG_LOG, "outOfMemoryError while reading file for sampleSize " + options.inSampleSize
+ " retrying with higher value");
}
}
return bitmap;
}
GlideApp.with(mContext) .load("") .error(R.drawable.my_vector) .into(holder.imageView);