Pas assez de stockage est disponible pour effectuer cette opération - Programme ou de la mémoire de Stockage?
Que j'ai été donné un Windows Mobile application écrite dans .Net CF 3.5 à corriger, et l'un des problèmes est à voir avec le stockage.
Le message "Pas assez de stockage est disponible pour effectuer cette opération" a paru un peu de temps - il est enregistré dans la base de données SQL CE, et toujours ce qui se produit lors de l'accès aux données (mais pas le même bit de données access).
La chose, je suis un peu confus au sujet est de savoir si cela fait référence à une Mémoire de Programme (par exemple, RAM) ou de la Mémoire de Stockage (e..g le stockage permanent). Il semble être la mémoire de stockage, mais les dispositifs semblent avoir beaucoup gratuit. Bien qu'il existe certains OutOfMemoryExceptions, ceux-ci semblent totalement étrangers à ce problème (dans ce qui arrive à un moment différent en raison d'une image liée à la question).
Nous sommes à l'aide de SQL CE 3.5 avec une seule connexion, qui est stocké avec l'application sur le périphérique (par opposition à la carte de stockage). L'appareil est un Motorola MC75 fonctionnant sous Windows Mobile 6.1.
Toutes les pensées?
OriginalL'auteur Grant Crofton | 2010-05-21
Vous devez vous connecter pour publier un commentaire.
C'est un faible niveau d'erreur Windows, code 14, ERROR_OUTOFMEMORY. Le message d'erreur ne parle pas de "mémoire", car il n'est pas toujours causée par être à court de mémoire. Le déclencheur le plus typique est un programme dépassement de son quota de ressources du noyau. Comme 10 000 poignées de fenêtre, il y a beaucoup d'autres. C'est pour l'édition de bureau btw, je n'en doute pas, elle est beaucoup plus faible sur Windows Mobile.
Bien, le programme est une tirelire. Une façon possible de déclencher cette erreur est de ne pas appeler Dispose() sur les objets de classes qui implémentent IDisposable. Qui va consommer des ressources du noyau qui ne sera pas libéré jusqu'à ce que le garbage collector et finalizer thread d'exécution. Ce qui pourrait prendre un certain temps. Le SQL CE cours sont certainement un candidat. Si vous n'avez aucune idée où la fuite de ressource ou de la sur-utilisation est à venir à partir d'investir dans un profiler qui fonctionne sur le CF.
Oui, je le pense. Eu le mauvais, qui ressemble à une erreur DDE.
OriginalL'auteur Hans Passant
Combien de mémoire virtuelle est-il attribué? Essayez d'augmenter la valeur, si possible.
La Mémoire virtuelle n'est pas réglable dans n'importe quelle version de CE.
OriginalL'auteur TrustyCoder
Je ne sais pas si cela s'applique aussi pour MC75, mais sur
Start->Settings->Control Panel->System
il devrait y avoir un onglet Mémoire, où vous pouvez ajuster la quantité de mémoire disponible en tant que RAM, et combien est réservé pour le stockage de fichiers.Cela ne s'applique pas à l' \Permanente dossier de Stockage (ou \Carte de Stockage, comme on les appelle sur notre dispositif), mais pour les autres dossiers, comme \Temp.
OriginalL'auteur C.Evenhuis