Comment éliminer les ressources inutilisées dans l'application C# winform GLOBALLY ??Élimination des ressources inutilisées dans l'application C# winform GLOBALLY
Répondre
Vous pouvez forcer la collecte des ordures en faisant:
GC.Collect();
GC.WaitForPendingFinalizers()
Ceci suppose que vous suivez le modèle IDisposable
. Codeproject a tout à fait un detailed article on the IDisposable
pattern
forcer une collecte des ordures est rarement la bonne chose à faire; il peut réellement promouvoir la durée de vie des objets dans certaines circonstances ... –
"Ceci est supposé que vous suiviez le modèle' IDisposable' "- les deux ont très peu de connexion ... –
Cette approche ne nécessite pas IDisposable, juste Finalizers. Une implémentation et une utilisation correctes d'IDisposable résoudraient le problème sous-jacent à cette question. –
Terminate le processus
Je fais l'hypothèse que l'OP espérait garder les ressources * utilisées * ... –
C'était une réponse stupide à la question, je sais, mais j'ai l'impression que cette question cache un plus grand niveau de pourriture . – spender
Eh bien, vous pouvez forcer une collecte des ordures (GC.Collect
) *, mais ce n'est pas la même chose que Dispose()
- et bien sûr, si votre code peut le voir (pour la jeter), il ne peut pas être collecté. Donc, introduire des modèles supplémentaires pour les suivre vous-même pourrait être contre-productif.
Je suggère simplement de m'assurer que vous faites une utilisation appropriée des blocs using
, et assurez-vous que votre code sait ce qui "possède" une ressource IDisposable
. Cela devient un peu compliqué avec les stylos/pinceaux/etc, comme le système brosses (etc) doivent être traités différemment de vos propres pinceaux personnalisés.
* = et comme le note Mitch, c'est rarement la bonne chose à faire; Je n'utilise généralement que GC.Collect
à partir d'appareils de test pour aplatir les choses entre les cycles de test ... pas dans le code de production.
@Marc: peut-être vaut-il la peine de mentionner que forcer un ramassage des ordures est rarement la bonne chose à faire; il peut effectivement promouvoir la durée de vie des objets dans certaines circonstances ... –
+1, pour répondre au problème derrière la question. –
- 1. Élimination déterministe des objets ThreadStatic
- 2. Trouver des fonctions Javascript inutilisées?
- 3. Élimination de l'instruction Ugly Switch lors de la récupération des ressources
- 4. Élimination gaussienne avec des opérateurs personnalisés
- 5. Hébergement contrôle personnalisé dans DataGridView - C# WinForm
- 6. C# Winform Formulaires sous forme
- 7. C# Winform Alter Sent Keystroke
- 8. Définition des ressources WPF en C#
- 9. Réinitialisation des éléments d'un winform à l'état initialisé (C#/.Net)
- 10. overhead à "using" déclarations inutilisées?
- 11. Ressources en C# MSVS
- 12. C# Cadre de multithreading pour l'application WinForm
- 13. Conventions de nommage NHibernate - Élimination des conits de mots-clés
- 14. Qu'est-ce que UserPreferenceChangedEventHandler dans les applications winform C#?
- 15. winform mdi catch enfant forme focus C#
- 16. Parcourez toutes les ressources dans ResourceManager - C#
- 17. IE 7 intégré dans l'application WinForm gèle toute application Winform
- 18. Faire des onglets de commutation Winform
- 19. Gestion des ressources indolore dans Java
- 20. Suppression des colonnes inutilisées d'un diagramme à barres
- 21. C# WINForm évite deux boîtes de message
- 22. Outils pour rechercher des déclarations de fonction inutilisées?
- 23. C# Winform Label inversé sur Vista
- 24. DataGridView Filtrage OnClick Event (C# WinForm)
- 25. Remplacer «\» par «/» dans une chaîne App C# WinForm
- 26. C# un formulaire bloquant une autre dans un WinForm projet
- 27. Élimination de certains appels de session Django
- 28. Dans .NET (C#), comment faire référence à une variable dans un WinForm à partir d'un WinForm enfant?
- 29. Ressources pour travailler avec des flux vidéo en C#
- 30. C# Récupérer la référence des ressources de projet (VS2008)
Pourriez-vous nous donner plus de détails sur exactement ce que vous essayez de faire? – LukeH
fermez le programme? –
Je crée une barre des tâches personnalisée comme Windows qui fonctionne bien. Mais quand je ferme l'application, l'espace occupé par la barre des tâches est bloqué. Donc je veux forcer le GC. De l'explication ci-dessous j'ai compris quelques trucs. Mais où l'appeler globalement ?? – Anuya