この記事では、魔法を使わずにFlexアプリケーションのサイズを縮小する方法について説明します。
具体的には、RSLとは何か、それは何を提供します。
さて、ボーイングで釘を打つことについてのいくつかの言葉。
まず、Flex SDKとFlexアプリケーションの概念をもう一度定義します。
Flex SDK / Flex Builder / Flexアプリ
Flex SDKは、リッチインターネットアプリケーションを作成するためにActionScript 3で記述されたオープンソースフレームワークです。
リンク: http : //opensource.adobe.com/wiki/display/flexsdk/Flex+SDK
Flex Builderは、Flex SDKと密接に連携するActionScript 3開発用のIDEです。
リンク:
Win / Mac: http : //www.adobe.com/products/flex/
Linux: http : //labs.adobe.com/technologies/flex/flexbuilder_linux/
Flexアプリケーションは、Flex SDKを使用するアプリケーションです。
Flexアプリケーションの例は、同じflex.orgで見ることができます
空のFlexアプリの重量はどれくらいですか?
空のFlexアプリケーションを作成すると、パブリッシュバージョンで約176キロバイトの重さがあることに驚くかもしれません。
これは、FlexアプリケーションにFlex SDKの一部が含まれているためです。
<叙情的なリトリート>
ちなみに、コンパイル時にswfに含まれていたクラスとその重量は、サイズレポートで確認できます。 これを行うには、コンパイルプロパティに「-link-report size.xml」を追加します。 たとえば、次のように:
そして、bin-debugフォルダーにsize.xmlファイルが表示されます。 ビューは読みにくいですが、同じExcelで処理および表示できます。
このパラメーターは、Flexアプリケーション用に設定することもできます。
</叙情的な後退>
フレームワークを解くことでサイズを縮小する
まず、結果:
かなり単純なアクションの後、アプリケーションの重量は... 70キロバイトになります。
(本当に喜んで急いで最後まで読んでください)
これらの70キロバイトには、フレームワークのロードに関与するFlex SDKのごく一部のみが含まれます* +コード。
(*-バージョン)
また、このサイズは、使用するFlexコンポーネントと使用しないFlexコンポーネントに依存しません。
方法:
これを行うのは非常に簡単です-プロジェクトプロパティで、Frameworkリンケージを設定します-ランタイム共有ライブラリ(RSL)。 [RSLダイジェストの確認]チェックボックスをオンのままにしてください。
フレームワークリンケージは、フレームワークがどのように使用されるかを示します。swfに「埋め込まれる」か、個別に存在します。
RSLダイジェストを検証すると、クロスドメインの形式でパンが生成されます。
「しかし、結局のところ、他のフレームワークはまだロードされます」
ここが楽しい部分です。 このファイルには、Flex SDKの大部分が含まれています。 そして、それは一度だけ起動します。 任意のドメインのC。
つまり、球状のVasya Pupkinがsite.smth WebサイトでFlexアプリケーションを開き、このアプリケーションがRSLを介してフレームワークの展開を使用する場合、このバージョンのフレームワークは彼のためにキャッシュされます。
また、同じバージョンのフレームワークをRSLを使用して別のサイトで他のFlexアプリケーションを開くと、Flex SDKは読み込まれません。
ヘルプのRSLの詳細:
http://livedocs.adobe.com/flex/3/html/help.html?content=rsl_09.html
軟膏で飛ぶ
ユーザーが、たとえばRSLを介してFlex SDKバージョン3.2.0.3958を使用して初めてFlexアプリケーションを開いた場合、ダウンロードを待機する必要があります。
そして十分な長さ。 署名されたSDKのサイズは約550キロバイトです。
常識
Flex SDKは必要のない場所では使用しないでください。
または、Rich Internet Application、またはサイトにファイルをアップロードするためのユーティリティを作成します。 2番目のケースにFlex SDKを使用する場合、これはボーイングによる釘打ちです。