MISE À JOUR 3/27/2013Comment nettoyer la mémoire dans WT?
Il semblerait que je ne suis pas une fuite de mémoire, il est juste WT ne pas tenir une session persistante à chaque fois F5 est touché, ou un nouvel utilisateur se connecte. Fondamentalement, l'ancienne session est supprimée, et une nouvelle est faite à chaque fois que F5 est touché, ou un nouvel utilisateur se connecte à partir d'une autre machine. J'ai lu certaines parties de la documentation qui mentionnent la persistance de la session, donc lorsqu'un utilisateur recharge la page, ou qu'un autre utilisateur se connecte, ils voient tous le même contenu. Cependant, je n'ai pas encore réussi à le faire fonctionner. Je pense que c'est un appel de fonction ou un paramètre dans le fichier wt_config.xml. Mettra à jour si je fais d'autres progrès.
ORIGINAL POST
Donc ma question est, comment puis-je nettoyer la mémoire dans le document WT donc chaque fois que l'utilisateur appuie sur F5 sur la page de l'utilisation de la mémoire reste le même dans le gestionnaire de tâches? Ok, donc je travaille avec WT prononcé (spirituel) et j'ai remarqué que mon application serveur consomme plus de mémoire chaque fois que l'utilisateur tape F5 sur la page pour le rafraîchir, ce qui me semble être une fuite de mémoire, Mais j'ai suivi le même processus que les applications les plus basiques de WT ...
Donc, je suis retourné à l'application WT la plus basique que j'ai pu trouver, l'application Bonjour le code pour lequel, et l'exemple de travail, peut être trouvé ici (http://www.webtoolkit.eu/wt/examples/) si vous n'avez pas personnellement construit le projet.
Une fois que j'ai exécuté l'exemple sur mon ordinateur et que j'ai appuyé sur F5 sur la page, la mémoire dans mon gestionnaire de tâches a augmenté.
Mon suspect probable est cette fonction ci-dessous.
WApplication *createApplication(const WEnvironment& env)
{
/*
* You could read information from the environment to decide whether
* the user has permission to start a new application
*/
return new HelloApplication(env);
}
Il est appelé à chaque fois F5 est touché et fait une nouvelle instance de la HelloApplication qui hérite de WApplication. Certaines choses que j'ai essayé de remédier à la situation qui n'ont pas fonctionné comprennent: Garder 2 pointeurs pour le HelloApplication afin que je puisse supprimer l'ancien pointeur chaque fois qu'un nouveau est alloué. Appel de la fonction quit() et suppression du pointeur. Appelez simplement la fonction quit(). J'ai également regardé sur le site de documentation de WT (http://www.webtoolkit.eu/wt/doc/reference/html/index.html) pour plus d'informations sur la classe et ses méthodes, mais je n'ai rien trouvé qui fonctionne.
Je demande à tous ceux qui répondent d'être aussi détaillés que possible sur la façon de gérer le nettoyage de la mémoire. Un exemple serait très apprécié, merci d'avance!
je suis tombé sur un problème de mémoire une fois que je suis en poids et moi-même en cours d'exécution http://stackoverflow.com/questions/15193585/virtual-memory-exhausted-cannot-allocate-memory –
a fait une mise à jour, il est pas une fuite de mémoire. – user2115945