Cela dépend ce que vous entendez par "consomme trop de mémoire".
A) Par conception, c'est-à-dire qu'il nécessite de charger ou de générer de grandes structures de données que vous pensez causer des problèmes.
Dans ce cas, est-ce i) une trop grande quantité de mémoire phyique, c'est-à-dire qu'elle ralentit parce que le disque dur commence à échanger des pages et/ou d'espace? la mémoire?
Pour ii) envisager d'utiliser 64bit construit, envisagez d'utiliser la mémoire partagée pour stocker de grandes structures de données, méfiez-vous de la fragmentation - allouent grands tampons début, cassez les grandes structures de données en plus petites
B) Il vous surprend en utilisant beaucoup de mémoire. Trouvez vos fuites ou bugs - différents profileurs disponibles ou studio visuel construit dans des crochets d'allocation de débogage. Avez-vous de l'arithmétique cassée pour calculer la taille des tampons (en particulier les enveloppes intempestives accidentelles)?
Utilisez des pointeurs intelligents pour gérer la suppression.
Acheter plus de mémoire? Soit cela ou exécuter un profileur de mémoire. C'est bête de donner des conseils génériques pour ce genre de situation. Déterminez * où * vos fuites de mémoire sont, puis corrigez-les. –
Votre question ne précise pas si l'application perd de la mémoire ou si elle consomme beaucoup de mémoire car elle doit conserver beaucoup de données en mémoire en même temps. –
Où va la mémoire? Est-il divulgué ou utilisé? – sharptooth