2010-03-01 10 views
1

J'ai une fuite de mémoire quelque part dans mon application NETCF, mais au lieu d'obtenir le "OutOfMemoryException" avec la belle trace de pile pour le retrouver, je reçois le big wince blanc " Programmer la mémoire ... "et redémarrer l'appareil. Quelqu'un peut-il me donner ou me diriger vers un bon ensemble de directions pour désactiver le dialogue "Program memory" , et avoir l'exception OutOfMemoryException à la place?L'application NETCF et "Program memory low"

Il a été suggéré de remplacer le composant "Notification basée sur l'interface utilisateur" de mon OS Design par le message "Not UI based notification", mais cela ne fonctionnera pas car les utilisateurs administrateurs doivent pouvoir utiliser le WinCE. shell, qui dépend du composant "notification basée sur l'interface utilisateur".

+0

Avez-vous résolu le problème? – Shaihi

+0

J'ai corrigé la fuite de mémoire, mais je n'ai pas trouvé un bon moyen d'empêcher le dialogue WinCE d'apparaître et d'avoir l'exception outofmemory soulevée à la place. – GWTF

Répondre

0

Une solution possible consisterait à surveiller manuellement l'utilisation de la mémoire. Vous pouvez utiliser l'API native GlobalMemoryStatus() pour obtenir la charge de mémoire actuelle (pourcentage de la mémoire système utilisée). Cela ne vous aidera pas si vous subissez une augmentation soudaine de l'utilisation de la mémoire, mais s'il s'agit d'une fuite lente, vous devriez pouvoir l'attraper avant que le système ne se bloque avec la boîte de dialogue de la mémoire. Nous l'avons utilisé de cette manière pour nous assurer que le périphérique enregistrerait automatiquement l'erreur et redémarrer si jamais il se produisait.