Если вы собираетесь использовать ту же функциональность, MXML не увеличит ваш SWF.
То, что влияет на размер, - это использование Flex SDK и его компонентов. Независимо от того, объявляете ли вы их с помощью MXML или AS3, вы используете их, и их код встроен в SWF. Точно так же, если вы ссылаетесь на Flex RSL и, таким образом, избегаете встраивания компонентов Flex непосредственно в ваш swf, он в любом случае будет одинакового размера. Привязка данных создает много событий и прослушивателей, так что это может вызвать некоторое раздувание, но не больше, чем если бы вы объявили механизм привязки данных с помощью служебных функций AS3.
Поскольку MXML действительно генерирует промежуточный код AS3, он может быть более подробным, чем вы могли бы написать самостоятельно, поэтому из этого вы можете увидеть некоторые дополнительные размеры. Чтобы взглянуть на это (что хорошо для понимания в целом), вы можете посмотреть с помощью директивы компилятора, чтобы сохранить сгенерированный код.
От: http://www.flashguru.co.uk/flex-2-compilation-hidden-goodies
- Щелкните правой кнопкой мыши проект Flex на панели навигатора.
- Выберите Свойства из контекстного меню.
- Выберите Flex Compiler в окне свойств.
- Введите -keep-generate-actionscript в ‘Дополнительный компилятор
поле аргументов.
- Нажмите «ОК», чтобы применить изменения.
- Создайте свой Flex Project, нажав кнопку «Выполнить».
- Снова щелкните правой кнопкой мыши свой проект Flex на панели навигатора.
- Выберите Обновить из контекстного меню.
- Новая папка должна появиться под вашим Flex Project в навигаторе
Панель с именем «сгенерировано»
Это хорошо сделать, когда вы приступите к отладке и профилированию своего проекта, поскольку вы действительно можете видеть, где компилятор делает правильные (или неправильные) действия.