Растровое изображение может быть размером 7 экранов. (Например, 1440x14000 px)
Обратите внимание, что это означает, что пользователь не может видеть все изображение сразу при полном разрешении.
Я часто сталкиваюсь с OutOfMemoryError
На большинстве устройств, вы будете иметь очень трудное время загрузки изображения, большое, так как вы не можете получить один непрерывный блок памяти, что большой.
Это говорит о том, что нагрузка уменьшенную версию в памяти, но я не хочу терять качество
изображение в какой-то степени, у вас нет особого выбора. Если вы хотите, чтобы пользователь сразу просматривал всю картину, изображение нужно масштабировать, чтобы соответствовать экрану.
Есть ли способ обработать OutOfMemoryError без загрузки уменьшенной версии?
Есть ImageView
запасные части, которые предлагают панорамирование и масштабирование. Некоторые из них, такие как this one, обрабатывают загрузку по частям изображения за раз, причем любое масштабирование необходимо для текущего уровня масштабирования, чтобы сделать его более вероятным, чтобы вы могли показать пользователю все изображение.
Размер, который вы описываете как растровое изображение, вычисляет слишком 75 МБ, поэтому он может просто быть слишком большим для обработки. Сколько памяти у устройства? – Aganju
Система Android дает мое приложение 512 МБ. –
Serdar selam :) Вы можете попробовать делить большое растровое изображение на разделы и отображать их в нескольких изображениях. И есть еще несколько хороших решений [здесь] (http: // stackoverflow.com/questions/6518215/display-huge-images-in-android) –