フレームワークを解放して、Flexアプリケーションのサイズを縮小します

Flexアプリケーションの重量は500kbですか? 簡単に修正できます!

この記事では、魔法を使わずに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ダイジェストの確認]チェックボックスをオンのままにしてください。
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を使用する場合、これはボーイングによる釘打ちです。

Source: https://habr.com/ru/post/J81075/


All Articles