Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-02-2011, 19:25   #1 (permalink)
Neuer User
 
Benutzerbild von Herzenslicht
 
Registriert seit: Aug 2006
Ort: Hamburg
Beiträge: 736
Speicherproblem

Hi Leute,
habe ein ziemliches Speicherproblem,
welches im Laufe der Zeit immer schlimmer wird,
sofern ich das Programm laufen lasse.

Nun habe ich die sufu durchkämmt und bin auf folgende Aussage gestoßen :

Zitat:
setInterval und setTimeout sind riesiege Memory-Leaks sofern diese nicht gecleart werden.
Da ich "setTimeout" im Laufe des Programms und im Laufe des Tages 100te von Malen ausführe, könnte es also durchaus sein, dass mein Problem genau von diesem Befehl kommt.

Wie aber kann ich den Speicher hinsichtlich von diesem Befehl löschen ?
__________________
_________________
Liebe Grüße
Herzenslicht ist offline   Mit Zitat antworten
Alt 13-02-2011, 20:09   #2 (permalink)
Neuer User
 
Benutzerbild von Herzenslicht
 
Registriert seit: Aug 2006
Ort: Hamburg
Beiträge: 736
Ferner frage ich mich folgendes:
Ich habe früher mit LoadMovieNum gearbeitet.
Damals hatte ich dieses Problem nicht.

Nun lade ich täglich tausende mal externe swf wie folgt ein :

Zitat:
mcanze.createEmptyMovieClip("con2",1);
var mclListener:Object = new Object();
var mcLoader = new MovieClipLoader();
mcLoader.addListener(mclListener);
mcLoader.loadClip(_level0.dateiname_neu, mcanze.con2);
mclListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
var prozent = int(bytesLoaded*100/bytesTotal);
la.text = ""+prozent+" %";//nur, wenn ein Textfeld vorhanden ist
}

mclListener.onLoadInit = function(mc:MovieClip) {
gotoAndPlay(32);
mc.gotoAndPlay(4);
_level0.nachrtime=0;

}
Wenn ich die externen immer wieder in den selben mc einlade,
müßte er diesen ja auch immer wieder überschreiben.

Dann dürften ja auch keine alten Daten mehr im Speicher haben.

Oder sehe ich das falsch ?
__________________
_________________
Liebe Grüße
Herzenslicht ist offline   Mit Zitat antworten
Alt 13-02-2011, 22:11   #3 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.231
Zitat:
Zitat von Herzenslicht Beitrag anzeigen
Wie aber kann ich den Speicher hinsichtlich von diesem Befehl löschen ?
Hi,
PHP-Code:
_root.timeOutVar setTimeout(deineFctdeinDelay);
//Wenn Du den TimeOut sauber beenden Willst:
function deineFct(){
  
clearTimeout(_root.timeOutVar);
  
// do someThing
}; 
Dein Loader sieht ok aus - wenn Du wirklich immer in denselben mc lädst - IMHO kein Speicherproblem.

LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Alt 14-02-2011, 08:50   #4 (permalink)
Neuer User
 
Benutzerbild von Herzenslicht
 
Registriert seit: Aug 2006
Ort: Hamburg
Beiträge: 736
Hi Andre',
vielen Dank für Deine Antwort.
Den Befehl "clearTimeout" kannte ich nicht, werde ich umsetzen.

Auf der Suche nach weiteren Fehlerquellen frage ich mich,
ob ständig erneut geladene txt-, bzw. xml-Datein auch wieder entladen werden müssen und wenn ja, wie ?
__________________
_________________
Liebe Grüße
Herzenslicht ist offline   Mit Zitat antworten
Alt 14-02-2011, 08:52   #5 (permalink)
Neuer User
 
Benutzerbild von Herzenslicht
 
Registriert seit: Aug 2006
Ort: Hamburg
Beiträge: 736
Und gleich eine 2. Frage hinterher.
Da das Programm in einem festgelegten Rhytmus erneut startet, frage ich mich ob man den kompletten Zwischenspeicher löschen kann,
wie es in anderen Programmiersprachen auch möglich ist ?
__________________
_________________
Liebe Grüße
Herzenslicht ist offline   Mit Zitat antworten
Alt 14-02-2011, 10:01   #6 (permalink)
Neuer User
 
Benutzerbild von Herzenslicht
 
Registriert seit: Aug 2006
Ort: Hamburg
Beiträge: 736
hmm...
__________________
_________________
Liebe Grüße
Herzenslicht ist offline   Mit Zitat antworten
Alt 14-02-2011, 17:51   #7 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.231
Alles pauschal komplett löschen ist nicht mgl. Das erledigt der GarbageCollector automatisch in durch den Programmierer nicht
beeinflußbaren unbestimmten Abständen...
Fürs xml-Object ein my_xml = null; oder my_xml= new XML(); sollte den nicht
mehr benötigten Speicher bei der nächsten GabageCollection freigeben.
Aber Du kannst doch einfach immer alles überschreiben!? Wieviele setTimeouts laufen gleichzeitg? Wieviele xml-Objecte müssen parallel zur verfügung stehen?

LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Speicherproblem! Babelduo ActionScript 3 4 11-07-2008 09:47
speicherproblem agib Flash Einsteiger 7 14-09-2006 16:56
Speicherproblem! sabineh68 Flash 4 und Flash 5 4 27-05-2003 13:28
speicherproblem echo5-7 Flash MX 2 11-01-2003 17:17
Speicherproblem georgia Flash 4 und Flash 5 2 26-07-2001 07:11


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele