Je développe une application pour WP7 (VS2010 Express pour Windows Phone RTM et WP Emulator), mais maintenant je suis confronté à un gros problème lié à l'utilisation de la mémoire. L'application elle-même a comme 12 vues, et certains d'entre eux sont réutilisés avec des données différentes. C'est un lecteur de news, donc les vues sont principalement des listboxes (vignette d'image, stackpanels et textblocks).Comment conserver l'utilisation de la RAM inférieure à 90 Mo? (Mise à l'échelle spéciale des images)
La première vue a une zone de liste avec 30 éléments. Cela prend environ 20 Mo de RAM, mais lorsque je navigue entre les vues, l'utilisation actuelle et maximale de la RAM commence à augmenter. Eh bien, l'utilisation de pointe est autour de 55MB, je pense que c'est OK, mais l'application a une section galerie dans laquelle après avoir sélectionné une vignette, elle navigue vers une autre vue qui affiche une image téléchargée (JPEG, 1131px × 1647px, ~ 486KB) l'écran. Le problème est et le problème est que lorsque je zoome dans l'image, l'utilisation de la mémoire atteint près de 90 Mo (comme 87 Mo la dernière fois que j'ai testé avec la taille maximale à 2,5).
De plus, après avoir navigué dans les vues, l'utilisation actuelle du RAM peut atteindre et rester à 35 Mo, ce que je pense est dû au fait que le périphérique cache certaines choses. Donc, comme le titre le dit, comment puis-je éviter une telle utilisation de RAM?
---- Modifier
Aussi je voudrais demander si le fait que dans mon application peut naviguer d'une vue de presque tous les autres et que entre il y a toujours une animation de transition de page (comme le un pour le modèle d'application de liste de téléphone dans les outils bêta), peut contribuer à l'utilisation excessive de la mémoire.
Eh bien, je viens de trouver un problème avec cela .... Le contrôle webBrowser, capture les événements de manipulation, de sorte qu'on peut Ne faites pas d'actions personnalisées comme le lancement d'une méthode. (comme celui que l'on utilisait pour aller aux images suivantes et précédentes). –
Salut, @Felipe Guajardo: Je suis intéressé par votre solution en utilisant un contrôle de navigateur Web, comment charger votre image et la lier à ActualImageSource? Merci. –
Bonjour. Regardez juste ma propre réponse ci-dessus. Tout d'abord, en utilisant (pas pur) MVVM modèle, donc dans mon modèle, j'ai une propriété avec URL (chaîne), que dans l'exemple est appelé ActualImageSource. Le premier bloc de code utilisait un contrôle d'image plus un comportement tiers pour le support multitouch. J'ai changé cela au deuxième bloc de code qui utilise comme source (avec liaison) cette même propriété ActualImageSource pour un contrôle webbrowser. –