Comment puis-je décharger le contenu à partir du gestionnaire de contenu?
J'ai essayé d'utiliser la dispose de la fonction sur un texture2d mais qui a provoqué des problèmes et je suis sûr que c'est pas ce que je suis censé utiliser.
Que dois-je utiliser pour décharger le contenu? Ne le gestionnaire de contenu de garder une trace de lui-même ou est-il quelque chose que je dois faire?
double possible de Comment XNAs de Contenu.Load<Texture2D> utiliser?
OriginalL'auteur tweetypi | 2010-11-24
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à mes réponses ici et, éventuellement,ici.
La
ContentManager
"propriétaire" de tout le contenu qu'il se charge et est responsable du déchargement. La seule façon que vous devez décharger le contenu d'un content manager est chargé est par l'utilisation deContentManager.Unload()
(MSDN).Si vous n'êtes pas heureux avec ce comportement par défaut de content manager, vous pouvez le remplacer comme décrit dans ce blog.
Toutes les textures ou d'autres décharger des ressources importantes que vous créez vous-même sans en passant par
ContentManager
doivent être éliminés (en appelantDispose()
) dans votreGame.UnloadContent
fonction.Décharger ne prend pas un argument dans la version que je vois sur le site MSDN. Vous pourriez être à la recherche à
Dispose(bool disposing)
(qui est une méthode protégée, ne peut pas appeler de l'extérieur). Cela fait partie de la norme C# jetables modèle (expliqué ici).Dispose(true)
est appelée lors de la norme de l'élimination (leusing
déclaration ou en appelant directementDispose()
) et sera lui-même l'appelUnload()
.Dispose(false)
est appelée par le finaliseur et expressément ne veut pas les appelerUnload
(il ne peut pas accéder à d'autres objets, ils pourraient avoir déjà été finalisée).OriginalL'auteur Andrew Russell
Si vous souhaitez vous débarrasser de la texture, de la façon la plus simple de le faire:
Si vous souhaitez vous débarrasser tout le contenu après la sortie du jeu, la meilleure façon de le faire:
Si vous souhaitez vous débarrasser seulement la texture après la sortie du jeu:
OriginalL'auteur Wallstrider