2009-03-11 7 views
3

Hallo Weltanwendung, die Flex verwendet, kompiliert mit optimize = true hat Größe 178K. Wie kann die Anwendungsgröße reduziert werden?Flash-App ist abhängig von Flex. Gibt es SWF-Bytecode-Größenoptimierer?

Wir verwenden RSL nicht gerne, Flex vermeiden wir nicht.

Der größte Teil der resultierenden SWF ist nicht verwendeter Bytecode. Gibt es irgendwelche Werkzeuge, um Bytecode zu optimieren - unbenutzte Methoden, Klassen löschen, Methoden kürzere Namen geben und so weiter?

Ich kenne einige solche Tools für Java-Bytecode. Gibt es irgendwelche für SWF?

Antwort

1

Sie könnten einige Flash Optimizer darauf versuchen, aber ich bezweifle, dass die Dinge viel besser werden. Ist es nicht möglich, den Quellcode zu ändern, die genannten Optimierungen durchzuführen und die Anwendung neu zu kompilieren?

Oder sprechen Sie über Flex Overhead? Wenn das so ist, sollte es Ihnen egal sein, denn bei größeren Projekten wird das fast gleich bleiben, und wenn es wächst, liegt es an einigen Klassen oder Methoden, die Sie brauchen (Multimedia usw.).

+0

Die Größe des Quellcodes meiner Hello World-Anwendung ist nur 1k (einschließlich MXML Formatierung Overheads). Ich werde Flash Optimizer versuchen (leider funktioniert es nur unter Windows). – stepancheg

+0

Welches Betriebssystem verwenden Sie? Es gibt Optimierer für Mac (http://mac.eltima.com/swf-compressor.html) und Linux (http://wareseeker.com/Web-Development/dcom-swf-optimizer-for-linux-1.0.zip)/389574) auch. – schnaader

+0

SWF Compressor (für Mac) optimiert den Code nicht. Nach der Optimierung wurde die Größe um 0,07% reduziert. – stepancheg

3

Die Größe ist die Kosten der Flex API. Sie können nicht auswählen, welche Teile zusammengestellt werden, so dass der beste Fall immer noch viel Gepäck mit sich führt.

Wenn die Größe eine große Sorge ist, können Sie nur die Flash-Seite von ActionScript verwenden, aber Sie verlieren viele der vorkonfigurierten Flex-Komponenten.

1

Warum nicht RSL? Es ist die einzige Option, die in Ihrem Fall in Betracht gezogen werden sollte, wenn Sie das Flex-Framework als RSL getrennt halten. Die RSL wird zwischen Anforderungen zwischengespeichert.

Die Optimierer werden die Größe nicht drastisch reduzieren, wenn sie bereits so niedrig wie 178k ist. Angesichts dieser Größe vermute ich, dass Sie keine Bilder oder andere Ressourcen einbetten. Wenn Sie es sind, wird es auch helfen, sie herauszunehmen und dynamisch zu laden, aber auf Kosten von mehr HTTP-Anfragen.

+0

Kein RSL, weil volle Flex RSL Größe ungefähr 1Mb ist, ich fürchte, Benutzer wird meine Seite nicht wieder besuchen, nachdem ich die 1Mb Flash App geladen habe. Die Site muss lite sein. – stepancheg

0

Nun - ist dies ein Fall der Wahl des richtigen Werkzeugs? Wenn Sie eine Anwendung erstellen müssen - ich würde nicht denken, dass der Aufwand zu schädlich ist. Wenn Sie eine Website erstellen, kann ich sehen, wo Sie möglicherweise eine kleinere Dateigröße wünschen - Sie müssen möglicherweise pure ActionScript ohne den Overhead des Flex-Frameworks verwenden.

Sie haben gesagt, dass Sie Flex nicht vermeiden wollten - meinen Sie Flex Builder oder das Flex-Framework? Sie können immer noch flex builder verwenden, um ActionScript-Projekte zu erstellen, und es ist ein Traum im Vergleich zum Aktionsfeld in CS4 ...

0

versuchen Sie diesen Link über Flex-Dateigrößenoptimierung.
http://askmeflash.com/article_m.php?p=article&id=9

Dies sind die wichtigsten Verbesserungen, die done.All Anwendungen erstellt in Flex laufen auf Flex-Framework werden kann, so das Grundgerüst, dort zu sein hat. Wenn Sie beispielsweise einen Container verwenden, sind Klassen wie Ereignis-Manager, Stylesheet-Manager, Bühne, Anwendung ein Muss, die die anfängliche Größe der Flex-Anwendung festlegen und nicht vermieden werden können. Die andere Alternative verwendet nur Flash.

+0

Seite enthält triviale Ratschläge, die ich bereits kannte. Diese Ratschläge helfen nicht viel zu sparen. Ich fragte nach echter Optimierung. – stepancheg

-1

Sie möchten Flex AND verwenden und möchten, dass Ihr Projekt klein ist. Aber Flex ist groß.

Es klingt wie Sie müssen eine Entscheidung treffen.

+0

Flex ist groß, aber der kleine Teil von Flex, den ich brauche, ist klein. – stepancheg