{lang: 'de'}
Flashhilfe.de - Flash Community

Einfrieren der GUI mit callLater() verhindern? [Flex 4]

 


AntwortenRegistrieren Seite1  

valuee#1
Benutzerbild von valuee
Beiträge: 133
Wohnort: Straight Outta Berlin-City
Registriert: Aug 2006

06.10.2011, 11:33

Hallo,

ich habe eine datengetriebene Anwendung, soll heißen: wenn Daten frisch vom Server im Client ankommen, sollen diese mit einem Schlag dargestellt werden. Bei großen Datensätzen passiert in diesem Moment so viel, dass die GUI kurz einfriert. Zwar arbeite ich schon mit Object-Pools für UI-Elemente, aber oft reicht das leider nicht aus.

Nun überlege ich, wie man die Funktionen so aufteilen kann, dass sie auf mehrere Frames verteilt werden. Ich habe die Hoffnung, auf diese Weise die Anwenundung bedienbar zu halten, mit der Einschränkung, dass sich die GUI nur schrittweise aufbaut. Ich habe die Vorstellung eine Art Queue aufzubauen, die in jedem Frame die GUI weiter aufbaut.

Nun würde es dafür ja unterschiedliche Möglichkeiten geben:
1. onEnterFrame
2. Timer
3. callLater-Funktion

onEnterFrame gilt ja als wenig Performant und ein Timer würde ja nie genau den nächsten Frame treffen. Man würde also evtl. Zeit verschenken. Also liegt mein Augenmerk gerade auf callLater(). Gibt es jemanden, der damit schon Erfahrungnen hat? Ich erinner mich, mal gelesen zu haben, dass die Verwendung von callLater() eher unsauber ist. Kennt jemand den Grund dafür? Gibt es eine weitere Variante, das Einfrieren der GUI zu verhindern?

Bin für jeden Tipp dankbar.
willie33#2
Benutzerbild von willie33
Beiträge: 147
Wohnort: Qo'noS
Registriert: Nov 2009

07.10.2011, 09:52