0

Je suis nouveau dans le développement android et j'ai un problème. J'essaye de charger quelques images dans un RecyclerView. Les données entrantes ont le type octet [].Android - Glisser dans le recycleurVoir

Ma première solution est la conversion de byte [] en Bitmap et ça marche bien mais les bitmaps sont bloqués dans la mémoire et je recevais une exception OutOfMemory.

La deuxième solution utilise Glide.

Glide.with(mContext)     
       .load(field.getImage()) 
       .into(holder.mImageView); 

Mais avec cette solution, j'obtiens les mêmes images dans chaque article. Je pense que le problème est dans le cache de Glide parce que les tableaux entrants sont différents. J'essaye de faire ceci avec ce code:

requestOptions.skipMemoryCache(true); 
requestOptions.diskCacheStrategy(DiskCacheStrategy.NONE); 
Glide.with(mContext) 
       .applyDefaultRequestOptions(requestOptions) 
       .load(field.getImage()) 
       .into(holder.mImageView); 

} 

Mais cela n'aide pas. Quel est le bon moyen de le faire?

Répondre

1

essayer cette utilisation setDefaultRequestOptions(requestOptions)

Glide.with(context) 
    .setDefaultRequestOptions(new RequestOptions().placeholder(R.drawable.booked_circle).error(R.drawable.booked_circle)) 
    .load(url) 
    .into(imageView); 
+0

Yep. Ça marche. J'ai utilisé applyDefaultRequestOptions (requestOptions) au lieu de setDefaultRequestOptions (requestOptions) – DanMan

+0

".setDefaultRequestOptions" Je ne peux pas utiliser cela. J'utilise kolin .. est-ce le problème ici? –

+0

@charithaamarasinghe utilisation **. Apply (requestOptions) ** – Prem

0

vous pouvez redimensionner l'image comme celui-ci

Glide.with(PhotoGalleryActivity.this) 
            .using(new FirebaseImageLoader()) 
            .load(storageReference) 
            .asBitmap() 
            .into(new SimpleTarget<Bitmap>(520, 520) { 
             @Override 
             public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) { 
              holder.img.setImageBitmap(resource); 

             } 
            });