Я работаю над приложением, где мне нужно загружать изображения из Интернета и отображать их внутри приложения. Я использую Universal Image Loader до сих пор, но в последнее время я столкнулся с проблемой, когда приложение не отображает изображения, которые огромны по размеру, например, 700 x 7661, я прочитал несколько сообщений & ответов, связанных с ним, но ничто не кажется надежным решением, оно появляется в аппаратном ускоренном приложении. размер изображения ограничен пределом размера текстуры OpenGL, ответы здесь на Stackoverflow позволяют изменить размер изображения до меньшего размера. Я знаю, что отключение аппаратного ускорения исправляет его, но это не вариант, потому что это делает все приложение неустойчивым.Растровое изображение слишком большое, чтобы быть загруженным в текстуру (4096 x 4096)
Вопрос: как мы можем достичь этого точно, потому что устройства имеют разные ограничения на текстуру OpenGL, некоторые устройства поддерживают 2048 x 2048 и поддерживают 4096 x 4096, некоторые из них поддерживают даже меньшие размеры, если мы изменим размер изображения, рассмотрев самый маленький размер изображения будет размытым на устройствах с высоким разрешением, поэтому я как бы не понимаю, как подойти к этой проблеме, я попытался использовать Picasso, Fresco & Glide и все они имеют схожие проблемы.
Образец изображения я пытаюсь загрузить это http://i.imgur.com/ADpTC2W.jpg?1
С уважением
установить программный слой ('View # setLayerType (интермедиат layerType, Paint краска)') только для представления, использующего ваше растровое изображение, а не для всего приложения – pskink
@pskink, это будет эффективная память? – TilalHusain
попробуйте разные типы (LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE) и посмотрите, как это влияет на ваше приложение. – pskink