Есть ли у Glide способ загрузки как PNG, так и SVG?

я используюскольжение загрузить несколько изображенийасинхронно в некоторые из моихImageViewс, и я знаю, что он может обрабатывать изображения, какPNG или жеJPG как он может справитьсяSVG.

Дело в том, насколько я знаю, способ загрузки этих двух видов изображений отличается. Подобно:

Загрузка "нормальных" изображений

Glide.with(mContext)
                .load("URL")
                .into(cardHolder.iv_card);

Загрузка SVG

GenericRequestBuilder<Uri, InputStream, SVG, PictureDrawable> requestBuilder = Glide.with(mContext)
        .using(Glide.buildStreamModelLoader(Uri.class, mContext), InputStream.class)
        .from(Uri.class)
        .as(SVG.class)
        .transcode(new SvgDrawableTranscoder(), PictureDrawable.class)
        .sourceEncoder(new StreamEncoder())
        .cacheDecoder(new FileToStreamDecoder<>(new SVGDecoder()))
        .decoder(new SVGDecoder())
        .listener(new SvgSoftwareLayerSetter<Uri>());

requestBuilder
        .diskCacheStrategy(DiskCacheStrategy.NONE)
        .load(Uri.parse("URL"))
        .into(cardHolder.iv_card);

И если я попытаюсь загрузить SVG первым способом, он не будет работать. Если я попытаюсь найти объявление PNG или JPG вторым способом, это тоже не сработает.

Есть ли общий способ загрузки обоих типов изображений с помощью Glide?

Сервер, с которого я получаю эти изображения, не сообщает мне тип изображения, прежде чем я его скачаю. Это REST-сервер, и ресурс будет извлечен таким образом,"http://foo.bar/resource", Единственный способ узнать тип изображения - это прочитать ответ HEAD.

Ответы на вопрос(2)

Ваш ответ на вопрос