Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-06-2011, 07:18   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Ort: mannheim
Beiträge: 365
Flex und Speichermanagement

Hallo,
ich hab hier ein paar Fragen zu Speichermanagement in Flex.
-Gibt es ein äquivalent zu myList.removeAll() von einer List für HorizontalList? Ich dachte HorizontalList würde von List erben, aber es gibt kein removeAll für HorizontalList.
-Kann man irgendwie anders ItemRenderer löschen und neu initialisieren.
-Wie entfernt man am Besten Komponenten ? removeChild(Komponente) geht ja nicht wirklich.
-Kann man eine mxml (Komponente) auch als Singleton deklarieren, wie eine AS3 Klasse?
-Gibt es Bestpraxis Tutorials im Web?
-Sollte man z.B. für alle eigenen Komponenten den Komponenten Livecycle verwenden. Hier ein gutes PDF zum Thema: http://www.developmentarc.com/site/w...cycle_v1.0.pdf

-Sollte man Objekte, Komponenten, etc. im Speicher lassen oder ist es besser nach "getaner Arbeit" diese zu löschen und jedesmal neu zu bauen.


-Traumhaft wäre natürlich ein Tool welches anzeigt wo die Querverweise eines Objekts vorhanden sind. Mit dem Profiler ist das nicht möglich, oder? Oder kann ich da bei den Kumulativen Instanzen anzeigen, wo die Instanzen initialisiert wurden ?

Ein etwas längerer Beitrag, aber vielleicht stehen auch interessante Sachen für andere Flexer drin.

Grüße ohneschuhe
ohneschuhe ist offline   Mit Zitat antworten
Alt 07-06-2011, 07:34   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-Gibt es ein äquivalent zu myList.removeAll() von einer List für HorizontalList? Ich dachte HorizontalList würde von List erben, aber es gibt kein removeAll für HorizontalList.
myList soll was genau sein?

Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-Kann man irgendwie anders ItemRenderer löschen und neu initialisieren.
Wieso sollte man das wollen?

Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-Wie entfernt man am Besten Komponenten ? removeChild(Komponente) geht ja nicht wirklich.
Wieso geht removeChild nicht?

Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-Kann man eine mxml (Komponente) auch als Singleton deklarieren, wie eine AS3 Klasse?
Nein.

Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-Gibt es Bestpraxis Tutorials im Web
Bestimmt, ich kenne keine.

Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-Sollte man z.B. für alle eigenen Komponenten den Komponenten Livecycle verwenden. Hier ein gutes PDF zum Thema: http://www.developmentarc.com/site/w...cycle_v1.0.pdf
Dann, wenn es Sinn macht, sollte man es tun.

Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-Sollte man Objekte, Komponenten, etc. im Speicher lassen oder ist es besser nach "getaner Arbeit" diese zu löschen und jedesmal neu zu bauen.
Das Recyclen von Komponenten ist immer das, was man machen sollte.

Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-Traumhaft wäre natürlich ein Tool welches anzeigt wo die Querverweise eines Objekts vorhanden sind. Mit dem Profiler ist das nicht möglich, oder? Oder kann ich da bei den Kumulativen Instanzen anzeigen, wo die Instanzen initialisiert wurden?
Da bin ich gerade überfragt, da ich seit einiger Zeit in Teams arbeite, die eigene Tester haben. Den Profiler nutze ich momentan eher rudimentär.
Omega Psi ist offline   Mit Zitat antworten
Alt 07-06-2011, 09:56   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Ort: mannheim
Beiträge: 365
Hi,
-myList ist eine List.
-itemREnderer löschen, weil sich die Items vermehrt haben. Hab ich aber schon gelöst. Es liegt an der Horizontalen Liste die "vermehrt" wird. Interessen würde es mich trotzdem.
-removeChild: Tja das ist seltsam.... Ich hab ein Canvas dem füge ich per addChild eine Horizontale Liste hinzu. Ich möchte die Horizontale Liste bei jedem Aufruf neu machen, d.h. ich muss sie vorher löschen. mit myCanvas.removeChild(myhorizontalList) geht es leider nicht. Zumindest wird im Profiler angezeigt, dass die Instanz bleibt und bei jedem Aufruf wird eine Instanz hinzugezählt....

Gruss ohneschuhe

Zitat:
Zitat von Omega Psi Beitrag anzeigen
myList soll was genau sein?

Wieso sollte man das wollen?

Wieso geht removeChild nicht?

Nein.

Bestimmt, ich kenne keine.

Dann, wenn es Sinn macht, sollte man es tun.

Das Recyclen von Komponenten ist immer das, was man machen sollte.

Da bin ich gerade überfragt, da ich seit einiger Zeit in Teams arbeite, die eigene Tester haben. Den Profiler nutze ich momentan eher rudimentär.
ohneschuhe ist offline   Mit Zitat antworten
Alt 07-06-2011, 10:20   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-myList ist eine List.
Alle öffentlichen Methoden einer Komponente werden über die API exponiert.

Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-itemREnderer löschen, weil sich die Items vermehrt haben. Hab ich aber schon gelöst. Es liegt an der Horizontalen Liste die "vermehrt" wird. Interessen würde es mich trotzdem.
ItemRenderer werden wiederverwendet. Die sollen nicht gelöscht werden. Es werden nur hinreichend viele erzeugt. Wenn man sie löscht, ist das falsch.

Zitat:
Zitat von ohneschuhe Beitrag anzeigen
-removeChild: Tja das ist seltsam.... Ich hab ein Canvas dem füge ich per addChild eine Horizontale Liste hinzu. Ich möchte die Horizontale Liste bei jedem Aufruf neu machen, d.h. ich muss sie vorher löschen. mit myCanvas.removeChild(myhorizontalList) geht es leider nicht. Zumindest wird im Profiler angezeigt, dass die Instanz bleibt und bei jedem Aufruf wird eine Instanz hinzugezählt....
AS3 Basics, nur weil ein Objekt nicht in der DisplayList hängt, heisst es nicht, dass es GCed werden kann. Weitere Referenzen und Eventhandler (<- DataBinding), sorgen dafür, dass die Instanz nicht gelöscht wird. Auch hier: führe ein Rest auf der Komponente aus und verwende sie weiter.
Omega Psi ist offline   Mit Zitat antworten
Alt 07-06-2011, 12:18   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Ort: mannheim
Beiträge: 365
Hi Omega,
du hattest recht. Die HorizontaleListe ist mit einem eigenen Scroller (HSlider) verbunden. In der Datei in der beide initialisiert werden wird dem Scroller per myScroller.myHList=horizontalList die Horizontale Liste mitgegeben und in dem Scroller wird der maxium und die value des HSliders per Binding gelöst. Das Binding ist auf der Instanz der Horizontalen Liste, die dem Scroller mitgegeben wurde.
Gibt es also irgendwie die Möglichkeit die Referenz zu löschen und das Binding aufzuheben. z.B. durch myScroller.mHList=null ; und dann noch das Binding aufzuheben, um dann die Horizontale Liste zu löschen?

Danke!
ohneschuhe
ohneschuhe ist offline   Mit Zitat antworten
Alt 07-06-2011, 12:28   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Wenn du DataBinding verwendest geht es nicht. Wieso willst du die Instanz löschen?
Omega Psi 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
Flex 3.5 zu Flex 4 Upgrade, TextField zeigt keine embed fonts mehr an Sandler Flex allgemein 0 30-01-2011 21:33
Adobe Flex User Group München: Flex Builder 4 & Flash Catalyst Preview (27.01.09) marc Konferenzen und Treffen 0 13-01-2009 13:37
Vortrag: Next Flex Workflow - Flex 4 und Flash Catalyst (Sven Claar) marc FFK09 0 12-12-2008 19:54
Speichermanagement in AS2 ohneschuhe Softwarearchitektur und Entwurfsmuster 0 28-09-2005 21:07
Flex für nicht kommerziellen Einsatz kostenlos erhältlich (inkl. Flex Builder) bort Flex allgemein 0 05-10-2004 16:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele