2009-03-11 21 views
3

Bonjour l'application mondiale qui utilise Flex, compilée avec optimize = true a la taille 178K. Comment réduire la taille de l'application?L'application Flash dépend de Flex. Existe-t-il des optimiseurs de taille de bytecode SWF?

Nous n'aimons pas utiliser RSL, nous n'aimons pas éviter Flex.

La plus grande partie du fichier SWF résultant est le bytecode inutilisé. Existe-t-il des outils pour optimiser le bytecode - abandonner les méthodes non utilisées, les classes, donner des noms plus courts aux méthodes, etc.

Je connais certains de ces outils pour le bytecode Java. Y en a-t-il pour SWF?

Répondre

1

Vous pourriez essayer quelques Flash Optimizer dessus, mais je doute que les choses iront beaucoup mieux. N'est-il pas possible pour vous de changer le code source, faire les optimisations que vous avez mentionnées et recompiler l'application? Ou parlez-vous de frais généraux Flex? Si c'est le cas, vous ne devriez pas vous en préoccuper, car pour des projets plus importants, cela restera pratiquement le même, et s'il grandit, c'est à cause de certaines classes ou méthodes dont vous avez besoin (Multimédia etc.).

+0

La taille du code source de mon application hello world est seulement 1k (y compris les frais généraux de formatage MXML). Je vais essayer Flash Optimizer (malheureusement, cela ne fonctionne que sur Windows). – stepancheg

+0

Quel système d'exploitation utilisez-vous? Il existe des optimiseurs pour Mac (http://mac.eltima.com/swf-compressor.html) et Linux (http://wareseeker.com/Web-Development/dcom-swf-optimizer-for-linux-1.0.zip/389574) aussi. – schnaader

+0

SWF Compressor (pour Mac) n'optimise pas le code. Après optimisation, taille réduite pour 0,07%. – stepancheg

3

La taille est le coût de l'API Flex. Vous n'avez pas à choisir les pièces qui sont compilées, de sorte que le meilleur des cas porte encore beaucoup de bagages.

Si la taille est un gros souci, vous pouvez vous en sortir en utilisant uniquement le côté flash d'ActionScript, mais vous perdez beaucoup de composants Flex préconstruits.

1

Pourquoi ne pas RSL? Garder le cadre flexible séparé en RSL semble la seule option à considérer dans votre cas. Le RSL est mis en cache entre les demandes.

Les optimiseurs ne réduiront pas considérablement la taille si elle est déjà aussi basse que 178k. Aussi, en regardant cette taille, je présume que vous n'incorporerez aucune image ou autre ressource. Si vous le faites, les retirer et les charger dynamiquement vous aidera aussi, mais au prix de plus de requêtes HTTP.

+0

Pas de RSL, parce que la taille complète Flex RSL est d'environ 1 Mo, je crains que l'utilisateur ne reviendra pas sur mon site après avoir attendu le chargement de l'application flash 1Mb. Le site doit être conservé. – stepancheg

0

Bien - est-ce un cas de choisir le bon outil? Si vous avez besoin de créer une application, je ne pense pas que les frais généraux soient trop préjudiciables. Si vous créez un site Web, je peux voir où vous pourriez vouloir une plus petite taille de fichier - vous pourriez devoir employer l'actioncript pur sans le frais généraux du cadre flexible.

Vous avez dit que vous ne vouliez pas éviter le flex - voulez-vous dire flex builder ou le framework flexible? Vous pouvez toujours utiliser flex builder pour créer des projets ActionScript et c'est un rêve comparé au panneau d'actions dans CS4 ...

0

essayez ce lien sur l'optimisation de la taille de fichier flexible.
http://askmeflash.com/article_m.php?p=article&id=9

Ce sont les principales améliorations qui peuvent être créées dans les applications done.All Flex exécuté sur framework Flex de sorte que le cadre de base doit être là. Par exemple, si vous utilisez un conteneur, des classes telles que Gestionnaire d'événements, Gestionnaire de feuilles de style, Étape, Application sont indispensables pour la taille initiale de l'application Flex et ne peuvent pas être évitées. L'autre alternative utilise le flash uniquement.

+0

Page contient des conseils triviaux, je le savais déjà. Ces conseils ne permettent pas d'économiser beaucoup. J'ai demandé de l'optimisation réelle. – stepancheg

-1

Vous voulez utiliser Flex ET vous voulez que votre projet soit petit. Mais Flex est grand.

Il semble que vous deviez prendre une décision.

+0

Flex est grand, mais la petite partie de Flex dont j'ai besoin est petite. – stepancheg