2010-06-01 5 views
2

J'ai créé une petite application qui existe dans la barre d'état système et l'utilisateur n'a besoin que d'ouvrir l'application dans TRES rares cas. Le problème est que, une fois que le suer a ouvert l'application pour la première fois, la mémoire est remplie avec énormément de données (interface utilisateur WPF pour datagrids, treeviews etc). Mais alors l'utilisateur va à nouveau minimiser l'application et il restera là la plupart du temps. La seule interface utilisateur toujours accessible est le menu contextuel de l'icône de la barre d'état.Empreinte de l'application système et de la mémoire système

Alors voici la chose: Comment puis-je disposer de l'interface utilisateur à chaque fois que l'application est minimisée? J'ai essayé plusieurs choses dans WPF mais je ne peux jamais me débarasser des objets d'interface utilisateur pendant que WPF garde des références à eux. Ce que j'aimerais, c'est: Ouvrir l'application (interface utilisateur chargée) -> Réduire dans la barre des tâches -> Toute l'interface utilisateur est éliminée et la seule mémoire restante est celle utilisée par la logique métier ... L'application suivante est ouverte à partir du tray: L'interface utilisateur entière est reconstruite.

Merci beaucoup d'avance!

Répondre

0

Je suppose que vous pourriez avoir une fenêtre principale cachée et quand il est restauré à partir du plateau, il ouvrira Window2 qui contiendra l'interface WHOLE, lorsque vous réduisez l'application, Window2 peut être fermé (ainsi disposé). Ou peut-être qu'il est possible d'ouvrir Window2 directement en double-cliquant sur l'icône de la barre ou via le menu contextuel ...

Mais cela ne donnera peut-être pas le résultat escompté, car le récupérateur de place ne s'occupe généralement pas de collecter les ordures à moins qu'il n'y ait pression sur le sous-système de mémoire (par exemple, vous manquez de mémoire libre).

Bien que j'ai vu le garbage collector (ou peut-être c'est une fonctionnalité de Windows) paginer la plupart de l'application dans le fichier d'échange quand il est réduit. Mais je n'ai pas regardé profondément dans ceci donc je ne peux pas dire quoi ou quand exactement cause ceci.

Questions connexes