У меня есть куча URL-адресов изображений. Я должен загрузить эти изображения и отобразить их в своем приложении один за другим. Я сохраняю изображения в коллекции с помощью SoftReferences
, а также на Sdcard, чтобы избежать повторений и улучшения пользовательского интерфейса.
Проблема в том, что я ничего не знаю о размере растровых изображений. И, как выясняется, я получаю OutOfMemoryExceptions спорадически, когда я использую метод BitmapFactory.decodeStream(InputStream)
. Таким образом, я решил уменьшить размер изображений с помощью параметров BitmapFactory (размер выборки = 2). Это дало лучший результат: никаких OOM, но это влияет на качество меньших изображений.
Как мне обращаться с такими случаями? Есть ли способ выборочно уменьшить только изображения с высоким разрешением?