Home | Forum | XNA.mag - Fragen | XNA - Allgemein | Resourcen freigeben!?
Resourcen freigeben!?
| |
|
|
| |
XPlay Neuling
Anmeldedatum: 03.12.2011 Beiträge: 9
|
Verfasst am: 06.05.2012, 12:33 Titel: Resourcen freigeben!? |
|
Hallo,
Ich habe ein Problem mit dem Resource managment von XNA. Entweder ich verstehe die arbeitsweise nicht so richtig oder ich mache etwas falsch.
Folgendes Problem, in meinem Spiel werden keine Resourcen freigeben obwohl ich dies tuhe. Sprich, wenn der Intro Screen vorbei ist, bleiben alle Resourcen vom Intro screen (Bilder, sounds) weiterhin im speicher und belegen Ram. Auf dem PC mag das nicht so schlimm sein aber auf windows Phone hab ich so sehr schnell 90 mb voll.
Ich benutze für jeden Screen ein eigenen Content Manager sowie eine eigene Spritebatch so das ich unabhänig vom eigentlichen Spiel die resourcen für jeden Screen seperat freigeben kann.
Meine Unload methode sieht folgendermassen aus:
| Code: |
content.Unload();
content.Dispose();
spriteBatch.Dispose();
GC.Collect();
|
Jedoch passiert überhaupt nichts nachdem ich diese Methode ausführe. Der belegte Ram speicher bleibt weiterhin unverändert. Gibt es noch was zu beachten in XNA um resourcen freizugeben? Wäre für hilfe sehr dankbar. |
|
| Nach oben |
|

|
Kevin Member
Anmeldedatum: 24.10.2008 Beiträge: 882 Wohnort: Karlsruhe
|
Verfasst am: 10.05.2012, 22:38 Titel: |
|
Soweit ich weiß ist es in C# nicht möglich den Garbage Collector zu zwingen aufzuräumen. Außerdem kann es natürlich sein, dass XNA bzw. C# intern vorsorglich Speicher reserviert und es bei Programmende wieder freigibt.
| MSDN: GC.Collect hat Folgendes geschrieben: | Mit dieser Methode kann versucht werden, den gesamten Speicher freizugeben, auf den nicht zugegriffen werden kann. Allerdings garantiert die Collect-Methode nicht, dass der gesamte Speicher freigegeben wird, auf den nicht zugegriffen werden kann.
Alle Objekte werden für eine Garbage Collection berücksichtigt, unabhängig davon, wie lange sie sich bereits im Speicher befinden. Objekte, auf die in verwaltetem Code verwiesen wird, werden jedoch nicht freigegeben. Mit dieser Methode wird das System gezwungen, so viel Speicher wie möglich freizugeben. |
_________________ Mein Youtube Kanal |
|
| Nach oben |
|

|
|
|
|
 |
 |
 |
 |
|
Alle Zeiten sind GMT + 1 Stunde
|
| Seite 1 von 1 |
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de