Модульность приложения и размер swf

4 views
Skip to first unread message

roman...@gmail.com

unread,
Nov 17, 2008, 12:00:30 AM11/17/08
to ruFlex
Разрабатываю флеш приложение на флексе. Столкнулся с проблемой. Есть
главная флешка, в нее будут подгружаться разные модули, тоже сделанные
на флексе. На флеше все просто, главная флешка и подгружаешь какие
надо флешки и работаешь с ними, причем в каждой флешке толкьо те
классы которые используются. При использование флекса все упирается в
размер, к примеру главная флешка 340кб весит, ок, но модуль тоже весит
минимум 150кб, я не жадный, пускай юзеры кушают, но ИМХО это бред,
закачивать классы, которые уже закачаны. Прочитал про модульность тут
devguide_flex3.pdf. Там какбе сжато все написано, не совсем осилил.
Понял что есть модули, что есть RSL, но как им пользоваться? %) Как
отключить ненужные классы?
Поделитесь ресурсами, или объясните получше, буду очень благодарен.

kuril

unread,
Nov 17, 2008, 2:01:21 AM11/17/08
to ruFlex

> Как отключить ненужные классы?
> Поделитесь ресурсами, или объясните получше, буду очень благодарен.

Все просто, сначала компилируется главное приложение с параметром -
link-report=report.xml
потом каждый модуль с параметром -load-externs=report.xml
Таким образом классы которые уже имеются в главном приложении, не
будут включены в модуль.
http://livedocs.adobe.com/flex/3/html/help.html?content=modular_4.html

roman...@gmail.com

unread,
Nov 17, 2008, 2:14:39 AM11/17/08
to ruFlex
> Все просто, сначала компилируется главное приложение с параметром -
> link-report=report.xml
> потом каждый модуль с параметром -load-externs=report.xml
> Таким образом классы которые уже имеются в главном приложении, не
> будут включены в модуль.http://livedocs.adobe.com/flex/3/html/help.html?content=modular_4.html
пытаюсь такое сотворить во FlashDevelop... как то криво, он свф модуля
обзывает также как главную свф... и еще вылетает ошибка при запуске
свф:
VerifyError: Error #1014: Не удалось найти класс
mx.core::LayoutContainer.

at flash.display::MovieClip/nextFrame()
at mx.core::FlexModuleFactory/deferredNextFrame()
at mx.core::FlexModuleFactory/update()
at mx.core::FlexModuleFactory/moduleCompleteHandler()

roman...@gmail.com

unread,
Nov 17, 2008, 2:15:12 AM11/17/08
to ruFlex
И то... экономия небольшая, 50кб...

kuril

unread,
Nov 17, 2008, 3:58:02 AM11/17/08
to ruFlex

> VerifyError: Error #1014: Не удалось найти класс
> mx.core::LayoutContainer.

Ошибка будет вылетать, если запускать модуль отдельно от главного
приложения, но при загрузке модуля в главное приложение модуль найдет
нужные классы в нем. Еще надо помнить про политику безопасности, и
если модули загружаются с другого домена, ставить дополнительно
разрешение на доступ к классам главного приложения

roman...@gmail.com

unread,
Nov 17, 2008, 4:12:59 AM11/17/08
to ruFlex
> Ошибка будет вылетать, если запускать модуль отдельно от главного
> приложения, но при загрузке модуля в главное приложение модуль найдет
> нужные классы в нем. Еще надо помнить про политику безопасности, и
> если модули загружаются с другого домена, ставить дополнительно
> разрешение на доступ к классам главного приложения
угму, ясно... только теперь не могу понять вот что:
http://livedocs.adobe.com/flex/3/html/images/rsl_benefits.png
на этйо картинке, слева без RSL , справа с RSL. т.е. грузятся два
модуля и одна библиотека, так? Я эту библиотеку сам создаю..или он
автоматом ее тянет?

kuril

unread,
Nov 17, 2008, 5:35:30 AM11/17/08
to ruFlex

> угму, ясно... только теперь не могу понять вот что:http://livedocs.adobe.com/flex/3/html/images/rsl_benefits.png
> на этйо картинке, слева без RSL , справа с RSL. т.е. грузятся два
> модуля и одна библиотека, так? Я эту библиотеку сам создаю..или он
> автоматом ее тянет?

Конечно надо сначала ее создать, там дальше написано же
http://livedocs.adobe.com/flex/3/html/help.html?content=rsl_03.html

А потом он автоматом будет ее тянуть, если указать путь в опции -
runtime-shared-libraries+=myLibrary.swc
Reply all
Reply to author
Forward
0 new messages