OutOfMemoryException ao carregar imagens de tamanho grande usando glide

Então, eu tenho usado essa biblioteca incrívelDeslizar por mostrar imagens nativas no meu aplicativo de galeria. estou usandoViewPager comFragmentStatePagerAdapter para mostrar imagens em tamanho real. O limite de fora da tela do pager é1 (padrão para economizar memória). Estou usando esse código para carregar imagens noViewPager no meu fragmento:

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

Agora, estou enfrentando alguns problemas aqui, como:

As imagens levam bastante tempo para carregar (se não forem armazenadas em cache). Assim, enquanto o usuário está percorrendo a tela em branco do visor, é mostrado enquanto a imagem está sendo carregada, o que eu quero evitar. Existe alguma maneira de fazer isso? Talvez pré-anexando imagens?Às vezes, enquanto percorre imagens de tamanho grande (principalmente fotos da câmera)Exceção OOM é lançado e o usuário fica com a tela em branco, pois nenhuma imagem é carregada. Isso também acontece quando estou mudando do potrait para o modo paisagem. Então, eu tentei usar métodos comoatMost() - que degradam ainda mais a qualidade da imagem, já que as imagens já estão carregadas noRGB_565 eapproximate() o que também está causando OOM. Como posso obter a máxima qualidade de imagem sem obter exceções de OOM?

Para a segunda edição, eu estava pensando em carregar imagens de menor qualidade para os itens fora da tela e depois melhorar a qualidade quando eles aparecerem na tela. É possível?

Eu também tentei usarARGB_8888 mas o resultado foi o mesmo: exceção do OOM.

questionAnswers(1)

yourAnswerToTheQuestion