OutOfMemoryException при загрузке изображений большого размера с помощью glide

Итак, я использовал эту удивительную библиотекускольжение для отображения собственных изображений в приложении моей галереи. я используюViewPager сFragmentStatePagerAdapter показывать полноразмерные изображения. Пейджер выключен лимит экрана1 (по умолчанию для экономии памяти). Я использую этот код для загрузки изображений вViewPager в моем фрагменте:

Glide.with(getActivity())
     .loadFromMediaStore(uri)
     .asBitmap()
     .signature(new MediaStoreSignature(mimeType, dateModified, 
     .into(mImageView);

Теперь я столкнулся с некоторыми проблемами, такими как:

Изображения загружаются довольно долго (если не кэшированы). Таким образом, пока пользователь прокручивает пустой экран видового экрана, пока изображение загружается, чего я хочу избежать. Есть ли способ, которым я могу сделать это? Может быть, путем проповеди изображенийИногда при прокрутке изображений большого размера (в основном фото с камеры)OOM Exception выбрасывается и пользователь остается с пустым экраном, так как изображение не загружается. Это также происходит, когда я перехожу из портретного режима в ландшафтный. Итак, я попытался использовать такие методы, какatMost() - что ухудшает качество изображения, поскольку изображения уже загружены вRGB_565 а такжеapproximate() что также вызывает ООМ. Как я могу достичь максимального качества изображения без исключения OOM?

Что касается второй проблемы, я подумал о том, чтобы загружать менее качественные изображения для элементов вне экрана, а затем улучшать качество, когда они появляются на экране. Является ли это возможным?

Я также пытался использоватьARGB_8888 но результат был таким же: исключение OOM.

Ответы на вопрос(1)

Ваш ответ на вопрос