Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Glide加载XML向量明智吗_Android_Vector_Drawable - Fatal编程技术网

Android 使用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); 在这两种情况下,如果要加载

Glide知道如何区分图像和向量吗?在内存使用和缓存管理方面,使用Glide加载XML向量有什么优势吗

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);