Растровое изображение слишком велико для загрузки в текстуру (4096 x 4096)

android bitmap picasso universal-image-loader fresco

3214 просмотра

2 ответа

601 Репутация автора

Я работаю над приложением, в котором мне нужно загружать изображения из Интернета и отображать их внутри приложения. До сих пор я использую Universal Image Loader, но недавно я столкнулся с проблемой, когда приложение не будет отображать изображения огромного размера. например, 700 x 7661, я прочитал несколько постов и ответов, связанных с ним, но кажется, что нет надёжного решения, оно появляется в приложении с аппаратным ускорением, размер изображения ограничен пределом размера текстуры OpenGL, ответы на Stackoverflow предлагают изменить размер изображение в меньшем размере. Я знаю, что отключение аппаратного ускорения исправляет это, но это не вариант, потому что это делает все приложение нервным.

Мой вопрос заключается в том, как мы можем добиться этого точно, потому что устройства имеют различное ограничение текстуры OpenGL, некоторые устройства поддерживают 2048 x 2048, а некоторые поддерживают 4096 x 4096, некоторые поддерживают даже меньшее, если мы изменим размер изображения, учитывая наименьший размер изображения. выглядят размытыми на устройствах с высоким разрешением, так что я не знаю, как решить эту проблему, я пробовал Picasso, Fresco & Glide, и у всех них была похожая проблема.

Образ изображения, который я пытаюсь загрузить, находится по адресу http://i.imgur.com/ADpTC2W.jpg?1.

С уважением

Автор: TilalHusain Источник Размещён: 18.07.2016 11:29

Ответы (2)


0 плюса

146 Репутация автора

Вы можете найти максимальный размер текстуры с помощью Canvas.getMaximumBitmapWidth()и Canvas.getMaximumBitmapHeight(), а затем изменить их размер, прежде чем помещать их в imageViews.

Автор: Leo Starić Размещён: 18.07.2016 11:32

0 плюса

1611 Репутация автора

Вы можете прочитать разрешение устройства и изменить размер ваших изображений в соответствии с вашим разрешением

для получения разрешения смотрите это: Как получить разрешение экрана

Автор: FarshidABZ Размещён: 18.07.2016 11:35
Вопросы из категории :
32x32