Je travaille sur une application Xamarin.Forms,ImageSource ne sont pas éliminés et la création OutOfMemoryException
A l'intérieur d'une de ma page, j'ai plusieurs coutume stackLayout (ActivityTypeView) contenant une image. Ces StackLayout sont créés et ajoutés dynamiquement dans une grille dans ma page.
intérieur de mon ActivityTypeView je mis la source de l'image comme suit:
WorkIcon.Source = ImageSource.FromFile("disable.png");
(Mon image est enregistrée dans mon dossier drawable)
Le problème est que quand je vais à une autre page et de revenir multiples temps, je finis toujours à un moment donné par une exception OutOfMemory lorsque je tente de charger l'image.
Je pense que mon ImageSource n'est pas détruite/jetée quand je change de page. Donc, il sera toujours, après avoir rechargé la même page plusieurs fois, se retrouver avec cette erreur.
Je voudrais savoir comment gérer cette situation. Comment puis-je disposer correctement de la ressource et quand?
L'utilisation de FFImageLoadingLibrary a corrigé mon crash! Je voulais utiliser Xamarin profiler pour voir ce qui se passe avec la mémoire mais je ne possède pas Visual Studio Enterprise pour surveiller mon application. Savez-vous si la mémoire est libérée à un moment donné? Ou la bibliothèque cache juste l'image pendant que l'application est en cours d'exécution? –
@LucienMoor Heureux d'entendre ça! Dans mon cas, la bibliothèque charge une fois l'image en mémoire et la réutilise encore et encore. De cette façon, nous n'avons pas vraiment à nous soucier de la libération de la mémoire. Vous remarquerez que l'utilisation de la bibliothèque en vaut vraiment la peine à long terme. – hankide