Ответ 1
Вы можете установить BitmapFactory.Options с помощью inJustDecodeBounds, чтобы получить ширину и высоту изображения без загрузки растрового пикселя в память
BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
bitmapOptions.inJustDecodeBounds = true;
BitmapFactory.decodeStream(inputStream, null, bitmapOptions);
int imageWidth = bitmapOptions.outWidth;
int imageHeight = bitmapOptions.outHeight;
inputStream.close();
Подробнее:
public boolean inJustDecodeBounds
Так как: API Level 1 Если установлено значение true, декодер вернет значение null (без битмапа), но поля out... все еще устанавливаются, позволяя вызывающему абоненту запрашивать растровое изображение без для выделения памяти для своих пикселей.