Получение размеров растрового изображения в Android без чтения всего файла

Я хотел бы получить размеры растрового изображения в Android без прочтения всего файла.

Я попытался использовать рекомендуемые inJustDecodeBounds и пользовательский InputStream которые регистрировали read() s. К сожалению, на основании этого, Android BitmapFactory похоже, читает большое количество байтов.

Похоже на: Java / ImageIO получать размеры изображения без чтения всего файла? Для Android, без использования ImageIO.

Вы правы в использовании inJustDecodeBounds. Установите значение true и включите опции в декодирование. Это просто считывает размер изображения.

Нет необходимости читать поток. Просто укажите путь в декоде.

 BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(<pathName>, options); int imageHeight = options.outHeight; int imageWidth = options.outWidth;