Начните с установки inJustDecodeBounds
на true
в вашем Options
, это даст вам размер изображения без загрузки каких-либо данных изображения.
Если размер изображения меньше вашего максимального размера, просто загрузите его как обычно.
Если, с другой стороны, он слишком большой, используйте inSampleSize
, чтобы прочитать меньший битовый массив.
Примечание: Я не думаю, что декодирование выполняет какую-либо фильтрацию при использовании inSampleSize, так что вы можете потерять некоторые детали, но так как размер вашего изображения очень большой (2048 px), я не думаю, это вызовет какие-либо проблемы.