| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
| error: out of memory
Hallo, ich bekomme in meiner Anwendung (wenn ich sie über lange Zeit laufen lasse) folgende Fehlermeldung: error: out of memory Scheinbar werden irgendwelche Objekte nicht korrekt entfernt - ich bin nun am Forschen welche das sind. Darüber hinaus, habe ich aber gelesen, dass man über "Window -> Preferences -> Java -> Installed JREs" Die VM Argumente auf "-Xmx1024m" setzen kann, um die interne Speicherbegrenzung aufzuheben .... ich arbeite mit dem FlashBuilder 4 (educational version). Es gibt zwar "Fenster -> Voreinstellungen", aber da gibt es keinen Unterpunkt "Java" ... kann mir irgend Jemand sagen, auf welchen Weg ich nun die Speicherbegrenzung aufheben / vergrößern kann? ![]() Das gleiche Problem mit meiner FlashBuilder-Version hatte ich auch beim Einstellen des zu verwendenden FlashPlayers ... laut Foreneinträgen sollte es unter "Projekt -> Eigenschaften -> Flex Compiler" möglich sein einzustellen welcher Player verwendet werden soll ... bei mir sind jedoch nur Einstellungen zum SDK und Compiler-Optionen möglich ... gibt es auch da irgend einen anderen Weg den Player festzulegen? Ich danke euch für eure Hinweise, liebe Grüße! |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Oct 2009 Ort: Bremen
Beiträge: 147
|
Also die Flash-Player Version kannst du im Flash-Builder unter: Preferences -> Flex-Compiler -> Adobe Flash Player Options Was dein erstes Problem angeht, sollte es eher dein Bestreben sein, die Objekte oder die Schleife ausfindig zu machen die dir diese Speicherprobleme verursacht, anstatt einfach das Memory-Limit hochzusetzen. Wie das allerdings geht, kann ich dir nicht sagen. Wenn man dir bei der Suche nach den Fehlern helfen kann, dann poste hier mal ein wenig Code, dass wir da draufschauen können. |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
|
Danke für die schnelle Antwort. Das Projekt besteht inzwischen aus 20 Dateien ... das Angebot bei der Fehlersuche zu helfen ist sehr lieb, aber ich glaube das sprengt hier den Rahmen ... :-) Statt dessen könnt ihr mir aber vielleicht ein paar Tipps geben ... was sind denn so typische Fehler durch die im Verlauf einer Anwendung Speicher zugemüllt wird? - nicht mehr verwendete Variablen auf null setzen um die Verweise zu löschen - alle EventListener entfernen Was noch?!? Kann man sich auf irgend einen Weg anzeigen lassen welche Instanzen zu einem bestimmten Zeitpunkt akiv sind (vielleicht irgendwie im Debugger?), damit man sieht welche Instanzen nicht verschwinden .... Bei der Einstellung zum Player bin ich auch noch nicht weiter, bei mir gibt es nur: Flex SDK-Version o Standard SDK verwenden Flex SDKs konfigurieren o Bestimmtes SDK verwenden o Verwenden Sie den Flex 3-Kompatibilitätsmodus Compiler-Optionen o Flash-Textwiedergabefunktionen in MX-Komponenten verwenden o Nicht eingebettete Dateien in den Ausgabeordner kopieren o Barrierefreie SWF-Datei generieren o Strict-Type-Prüfung aktivieren o Warnungen aktivieren Zusätzliche Compiler-Argumente: -locale de_DE Und dazu die Buttons "Standardwerte wiederherstellen" und "Anwenden" ... mehr nicht :-( Ich fürchte, dass in der kostenlosen educational Version einige Funktionen nicht integriert wurden ... aber weiß vielliecht Jemand wie man die Player-Version und die Speichergrenze irgendwie per Code festlegen kan? Ich danke euch schon mal. Liebe Grüße. |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
| Hält Flex / AIR beim abspielen von Videos temporäre Daten vor?
Hallo - ich noch einmal. Nachdem ich diesen Artikel (Kick starting the garbage collector in Actionscript 3 with AIR Craftymind) gelesen habe, habe ich meine Anwendung noch einmal umgebaut und erzeuge nun so wenig wie möglich neue Instanzen ... dennoch bricht mein Programm nach einer gewissen Laufzeit ab mit der Meldung "error: out of memory" und im System kommt die Meldung "nicht genügend virtueller Speicher vorhanden" ... ich habe keine Idee was / wo ich im Programm noch Ressourcen einsparen kann, deshalb meine Frage: In meinem Programm werden hintereinander swf- und mp4-Dateien wiedergegeben ... nach etwa 1/2 Stunde bricht er ab ... kann es sein, dass bei der Wiedergabe von mp4-Dateien ein Art Cache irgendwo im System gespeichert wird, der dann nach und nach den Arbeitsspeicher zumüllt? Wenn ja - wie könnte ich das nachprüfen bzw. umgehen? Ich danke euch! LG! |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
| Datenansammlung von FlashPlayer irgendwie vermeidbar?
Schon wieder ich ... vielleicht klinkt sich ja doch noch Jemand in meinen Monolog ein und weiß einen Ausweg. Ich habe jetzt mal das Flash-Builder Profiling über die Anwendung laufen gelassen und habe festgestellt, dass sich keine großen Mengen an Daten ansammeln .... ich habe eine Maximale Speicherauslastung von 6467 K und schwanke in der Anwendung immer so zwischen 5200 K und 6400 K ... es steigt auf jeden Fall nicht weiter ... dennoch kommt nach einer gewissen Zeit der Fehler "error ut of memory" ....Von dem was ich gelesen habe, arbeitet der FlashPlayer sehr uneffizient und gibt den Speicher nicht wieder frei ... meine Frage also: Hat schon Jemand ähnliche Probleme gehabt? Und kann mir vielleicht irgend Jemand einen Tipp geben, wie ich die vom FlashPlayer angesammelten Daten wieder löschen kann? Ich hoffe, irgend Jemand weiß noch einen Tipp ... ich weiß langsam echt nicht mehr weiter und das Projekt ist Teil meiner Bachelorarbeit ... :-( Danke und LG. |
| | |
| | #6 (permalink) |
| Crème brûlée Registriert seit: Jan 2006 Ort: Düsseldorf
Beiträge: 717
|
Der Flash Garbage Collector ist im Grunde garnicht so schlecht. Es dürfen nur keine (!) Referenzen mehr auf die zu löschenden Objekte bestehen. 6400 K ist eine sehr geringe Speicherauslastung. Daher denke ich, dass vielleicht auf deinem System irgendwas anderes faul ist. Kommt der "Out of memory"-Fehler denn vom FlashBuilder oder vom Flash Player? |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
|
Hallo - hat etwas länger gedauert bis ich wieder antworten kann ... es sind definitiv keine Referenzen mehr auf Objekte, sonst würde man das ja im Profiling vom Flash Builder sehen ... der Garbage Collector tut also auch seinen Dienst. An meinem System an sich kann es auch nicht liegen, denn der Fehler kam bisher auf allen Systemen, auf denen ich getestet habe (4 verschiedene). Das Problem scheint wirklich am FlashPlayer zu liegen ... im Profiling steht so eine geringe Auslastung, im Task Manager deutlich mehr ... und dann erscheint in der Konsole des FlashBuilders die Fehlermeldung und das Programm bricht ab. Das scheint aber auch nur aufzutreten, wenn ich mp4-Dateien abspiele. Binde ich swf-Dateien ein, kann die Anwendung ewig laufen ohne Probleme ... als ob der FlashPlayer Videodaten irgendwo im Arbeitsspeicher cached und nicht wieder freigibt ... Werde jetzt mal einen Test machen und die Videowiedergabe in eine swf-Datei auslagern ... mal sehen ob es dann geht ... LG. |
| | |
| | #8 (permalink) | |
| Neuer User Registriert seit: Jul 2001 Ort: Berlin | Friedrichshain
Beiträge: 3.561
|
leider hast du auf die frage: Zitat:
fuer mich hoert es sich so an, als ob saemtliche audio/video-files im RAM bleiben und wuerde da mal ansetzen.. gruss und viel erfolg
__________________ 8bm | join ff@BOINC formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn | |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
| Des Rätsels Lösung ...
Ich habe nun (wie zuvor geschrieben) die Video-Dateien in separate SWF-Dateien eingebunden und aus meiner AIR-Anwendung heraus nur die SWF-Dateien geladen - nun spielt meine Anwendung 24 Stunden und länger. Es scheint, als würde der FlashPlayer die Daten, die er für eine Anwendung im Cache hat nicht wieder freigeben, solange die Anwendung noch aktiv ist ... bei meinem Umweg werden nun die SWF-Dateien als separate Anwendungen behandelt und immer wenn die SWF geschlossen wird, wird auch der Speicher freigegeben ... ein ähnliches Problem hatte ich auch mal beim Abspielen von MP3-Streams - nach einer Weile läuft der Speicher zu, weil die Daten nicht wieder freigegeben werden ... scheint also ein generelles Problem zu sein ... LG! |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Jul 2001 Ort: Berlin | Friedrichshain
Beiträge: 3.561
|
ich denke es ist kein generelles problem. ich kenn flashanwendungen die photos und videos abspielen und mehr als 2 wochen am stueck gelaufen sind. alles eine frage der sauberen programmierung.
__________________ 8bm | join ff@BOINC formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
|
Wow - dann würde mich mal sehr interessieren, wie die Programmierer es geschafft haben den Speicher wieder frei zu bekommen. Ich habe den Profiler laufen lassen - es sammeln sich keine verwaisten Objekte an - kann also von der Programmierung her auch nichts mehr verbessern. Aber für Hinweise, woran es sonst noch liegen kann, bin ich gerne offen. LG! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Error #2044: ioError unverarbeitet. text=Error #2032: Stream-Fehler | TianK | ActionScript 3 | 4 | 23-12-2010 17:50 |
| IO-Error aufgetreten: Error=Error #2032: Stream-Fehler | nicciko | ActionScript 3 | 10 | 17-04-2009 12:46 |
| Out of memory error in JavaScript und Internet Explorer | mirzahat | JavaScript & jQuery | 1 | 16-11-2006 14:07 |
| Fatal error: Allowed memory size of 8388608 bytes exhausted | secretgamer | PHP und MySQL | 3 | 12-03-2006 22:12 |
| PHP Memory Error bei Image Script | PeFro | PHP und MySQL | 12 | 31-08-2004 13:40 |