четверг, ноября 30, 2006

Уменьшение размера swf с помощью удаленных библиотек

Накнулся на интересный пост Джеймса Ворда, в котором рассказано, как уменьшить размер выходного swf файла с помощью использования Runtime Shared Libraries (RSL) - удаленных библиотек. Вот перевод.

Flex 2 позволяет загружать эти библиотеки с других доменов. Подразумевается, что приложение будет указывать на какой-нибудь определенный набор библиотек, который браузер будет быстро доставать из кэша. Перед началом необходимо заметить, что это не поддерживается Adobe, хотя команда разработчиков и работает в этом направлении, пока это просто хак. Во-вторых, пока нет нормального централизованного хранилища для RSL- библиотек, они хранятся на моем сервере, который может быть взломан и вместо изначальных библиотек вы получите какие-нибудь опасные компоненты. Несмотря на эти препоны, этот способ удовлетворяет большинство приложений и позволяет значительно уменьшить их размер. Как же это применить?

Мною было создано три библиотеки: малая, средняя и большая. Библиотеки взаимодополняемы, то есть, если необходимо использовать среднюю, то загружать надо малую и среднюю. См. таблицу у автора.


1) Скачайте необходимые SWC для RSL
2) Измените build path проекта
2.1) Если вы компилируете с помощью Ant или командной строки, определите пути к библиотекам следующим образом:

flex2-sdk/bin/mxmlc -external-library-path+=build/framework-2_0_0_a-small.swc,
build/framework-2_0_0_a-medium.swc -runtime-shared-libraries=
http://ws.jamesward.org/framework-2_0_0_a-small.swf,
http://ws.jamesward.org/framework-2_0_0_a-medium.swf-o=
build/testHostedFlexLibs-medium.swf -file-specs=test/testHostedFlexLibs.mxml

2.2) Если вы используете Flex Builder, перейдите в Project -> Properties -> Flex Build Path -> Library Path -> Add SWC -> [добавьте необходимые SWC]. Затем выберите SWC’s RSL URL и нажмите кнопку Edit. Измените Link Type на "Runtime shared library (RSL)", введите правильный URL, уберите галку с "Auto extract checkbox", затем нажмите OK.

2.3) Если вы используете FDS, добавьте SWC в папку flex/user_classes и обновите runtime-shared-libraries соответственно в файле flex-config.xml.

3) Перекомпилируйте приложение (если этого не произошло автоматически) и размер файла значительно уменьшится!

4) Еще одна преграда - приложение будет работать только из интернета, потому что политика безопасности запрещает загружать внешние ресурсы.

3 комментария:

Анонимный комментирует...

Есть и такой сайт Интим знакомств http://www.pi7.ru без СМС и всякой ерунды! Зачем платить когда есть бесплатно... [url=http://www.soki.tv]Скачать новинки кино бесплатно[/url]
и анекдотец :) для настроения
Женщина жалуется подруге:
- Представляешь, мой муж совсем взбесился... Вчера Колян вызвался проводить меня с работы домой, а тут муж как выбежит да как даст Коле ногой в пах!
- Ой, да что ты! Бедный Коля, с ним всё в порядке?
- Да с ним всё отлично, а вот у меня три пальца сломаны

Анонимный комментирует...

Бесплатный [url=http://www.soki.tv]виео[/url] контент и Анекдот от http://www.soki.tv :) Два студента-медика пьют пиво у ларька. Один говорит другому:
- Что-то пиво сегодня пенистое!
Второй отвечает:
- Ты завязывай с этой латынью!

Анонимный комментирует...

Интим знакомства без СМС и всякой ерунды... http://www.pi7.ru Найди и ты себе партнёра. Есть [url=http://pi7.ru/menuid-44]Партрерская программа[/url]
И небольшой анекдот для размышления.
Девушка после миньета лезет целоваться к мужику. Тот уже устал отворачиваться.
Она ему говорит:
- Странный вы народ, мужики. После себя западло, а после других нет.