Lors de l'utilisation de bitmap dans Xamarin Forms Android, je suis en train de télécharger des images dont la taille est supérieure à la taille habituelle.La fuite de mémoire se produit dans Xamarin Forms Android lors de l'utilisation de Bitmap
vide getImage() {------- imageView.setImageBitmap (Bitmap.createScaledBitmap (getBitmapFromViewUpdated (_view), (int) largeur, (int) hauteur, true)); tempView = imageView; } -------- } statique Bitmap getBitmapFromView publique (vue Vue finale) {
view.setLayoutParams(new LayoutParams(view.getWidth(),
view.getHeight()));
view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
final Bitmap bitmap_ = Bitmap
.createBitmap(view.getMeasuredWidth(),
view.getMeasuredHeight(),
Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap_);
view.draw(c);
return bitmap_;
}
Bitmap getBitmapFromViewUpdated(final View view) {
if (view.getWidth() == 0 || view.getHeight() == 0)
view.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
else
view.setLayoutParams(new LayoutParams(view.getWidth(),
view.getHeight()));
view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
view.layout(0, 0, viewWidth, viewHeight);
final Bitmap bitmap_;
if(viewWidth>0 && viewHeight>0) {
bitmap_ = Bitmap
.createBitmap(viewWidth,
viewHeight, Bitmap.Config.ARGB_8888);
}
else
{
bitmap_= Bitmap
.createBitmap(view.getMeasuredWidth(),
view.getMeasuredHeight(),
Bitmap.Config.ARGB_8888);
}
Canvas c = new Canvas(bitmap_);
view.draw(c);
return bitmap_;
}
}
J'ai essayé android: largeHeap = true, peut atteindre le résultat tout en utilisant cela, mais je dois savoir comment corriger avec le redimensionnement des bitmaps.
Merci à l'avance ...
Avoir vérifié ces liens, mais besoin de savoir comment obtenir le redimensionné en vue. – Rabhia
En fait, si vous lui donnez votre bitmap, il vous donnera le bitmap compressé et redimensionné lui-même S'il vous plaît vérifier le second lien essayez d'implémenter le scénario lui-même @Rabhia –