Форматы, поддерживаемые BitmapFactory.decodeByteArray(…)

#android #android-image

#Android #android-изображение

Вопрос:

Документировано ли (или разумно предположить), что BitmapFactory.decodeByteArray(…) может распознавать любой из форматов изображений, перечисленных здесь?

Комментарии:

1. Да (разумно предположить). Но WebP предназначен только для Android 4.0 . PNG, JPG, GIF (… BMP ??) являются распространенными форматами для Android. Если их можно использовать в качестве фона, разумно предположить, что BitmapFactory их обработает.

2. Можно было бы подумать, что документация BitmapFactory будет содержать эту информацию. Это отсутствие документации привело меня к поиску этого вопроса.

Ответ №1:

Да, разумно предположить (немного больше, если вы взглянете на исходный код AOSP). Для этого используются собственные методы JNI BitmapFactory BitmapFactory.cpp .

https://github.com/android/platform_frameworks_base/blob/master/core/jni/android/graphics/BitmapFactory.cpp

Поскольку оба BitmapFactory.decodeByteArray() и BitmapDrawable(InputStream) конструктор в конечном итоге вызываются doDecode() , и поскольку этот конструктор используется при загрузке ресурсов из APK, было бы разумно предположить, что возможности одинаковы.