e.l.dam
%Europe/Berlin %459 %2009, 11:02
Hallo allemaal,
Bijna klaar met een nieuw spelletje en wederom de vraag: hoe ver moet ik gaan met het opruimen.
Ik heb een class waar alles aangeroepen wordt: het menu, de tutorial, het spel, etc.
Wanneer het spel afgelopen is, gooi ik eerst alle EventListeners weg (twee redenen, één omdat ze volgens mij anders nog in het geheugen blijven staan? en twee omdat je tijdens de score invullen niet verder mag spelen).
Daarna wordt buildMenu() aangeroepen, welke zo begint:
public function buildMenu():void {
if (mnGame) {
removeChild(mnGame);
mnGame = null;
}
Mijn vraag is nu: hoe ver moet ik gaan met het opruimen van mnGame. Als ik de hele child remove (met daarin een ton aan EventListeners en graphics en meuk), is dan alles weg? Of moet ik eerst binnen mnGame alle inhoud apart verwijderen en daarna pas de child mnGame weg gooien?
It troubles me! :) Het lijkt erop dat op deze manier mijn spel niet langzamer wordt na 10.000 keer proberen (trace(System.totalMemory) geeft steeds ongeveer dezelfde waardes), maar ik weet dus niet of sommige "verwijder" dingen overbodig zijn (zoals het weggooien van Listeners).
Stukje wat ik nu doe in de game, voordat je terugkeert naar het menu, is:
for (var i:uint=0; i<blockList.length; i++) {
removeChild(blockList[i]);
}
Overbodig als je in het menu de hele game (met daarin de blockList) removed en op null zet?
Hoop dat mijn vraag duidelijk is... elke game die ik heb gemaakt heb ik nog het probleem gehad dat als je hem 100x speelt, hij steeds langzamer wordt. Elke keer anders opgelost, wil nu wel eens weten wat ik precies moet doen :)
Bedankt in iedergeval!
Groetjes
Bijna klaar met een nieuw spelletje en wederom de vraag: hoe ver moet ik gaan met het opruimen.
Ik heb een class waar alles aangeroepen wordt: het menu, de tutorial, het spel, etc.
Wanneer het spel afgelopen is, gooi ik eerst alle EventListeners weg (twee redenen, één omdat ze volgens mij anders nog in het geheugen blijven staan? en twee omdat je tijdens de score invullen niet verder mag spelen).
Daarna wordt buildMenu() aangeroepen, welke zo begint:
public function buildMenu():void {
if (mnGame) {
removeChild(mnGame);
mnGame = null;
}
Mijn vraag is nu: hoe ver moet ik gaan met het opruimen van mnGame. Als ik de hele child remove (met daarin een ton aan EventListeners en graphics en meuk), is dan alles weg? Of moet ik eerst binnen mnGame alle inhoud apart verwijderen en daarna pas de child mnGame weg gooien?
It troubles me! :) Het lijkt erop dat op deze manier mijn spel niet langzamer wordt na 10.000 keer proberen (trace(System.totalMemory) geeft steeds ongeveer dezelfde waardes), maar ik weet dus niet of sommige "verwijder" dingen overbodig zijn (zoals het weggooien van Listeners).
Stukje wat ik nu doe in de game, voordat je terugkeert naar het menu, is:
for (var i:uint=0; i<blockList.length; i++) {
removeChild(blockList[i]);
}
Overbodig als je in het menu de hele game (met daarin de blockList) removed en op null zet?
Hoop dat mijn vraag duidelijk is... elke game die ik heb gemaakt heb ik nog het probleem gehad dat als je hem 100x speelt, hij steeds langzamer wordt. Elke keer anders opgelost, wil nu wel eens weten wat ik precies moet doen :)
Bedankt in iedergeval!
Groetjes