Flash CS5 では、.swc ファイルをライブラリにインポートするオプションがあるようですが、RSL (ランタイム共有ライブラリ) としてインポートします。
このオプション (swc) とランタイム共有ライブラリ .swf ファイルの使用の違いは何ですか?
また、.swc ファイルを選択し、「info」(「i」) アイコンを選択すると、.swc のオプションがいくつかあるようです...「コードにマージ」、「外部」、「ランタイム共有ライブラリ」 :
Flash CS5 では、.swc ファイルをライブラリにインポートするオプションがあるようですが、RSL (ランタイム共有ライブラリ) としてインポートします。
このオプション (swc) とランタイム共有ライブラリ .swf ファイルの使用の違いは何ですか?
また、.swc ファイルを選択し、「info」(「i」) アイコンを選択すると、.swc のオプションがいくつかあるようです...「コードにマージ」、「外部」、「ランタイム共有ライブラリ」 :
SWCは、ビルド時にアプリケーションの SWF にバンドルされるコンパイル済みライブラリです。これにより、より大きなアプリケーション ファイルが作成され (ブラウザーでの読み込みに時間がかかります)、すべてのアプリケーションの起動で読み込みにかかる時間が同じになります。結果として得られる SWF がかなり大きい場合、すべての起動に時間がかかります。これらのライブラリは「静的にリンク」されています (つまり、最終的にコンパイルされた SWF に含まれています)。
RSLは、アプリケーションに動的にリンクされたコンパイル済みライブラリです。それらを個別の SWF としてビルドし、RSL としてプロジェクトに追加します。アプリケーションのコンパイラは、メインの SWF ファイルにインポートするのではなく、実行時にアプリケーションが使用できるようにするリンクを作成します。アプリケーションが起動すると、RSL を見つけてライブラリ全体を動的にロードしようとします。これにより、アプリケーションの初期負荷が増加します。ただし、いったん見つけてロードすると、それらはキャッシュされ、その後のアプリケーションの起動はかなり速くなります。
RSL には多くの利点といくつかの欠点があります。これらはアプリケーションにバンドルされていないため、SWF は小さくなり、より迅速に起動します。また、他のアプリケーションで使用されるアプリケーション内のライブラリを分離することもできます。したがって、「共有」ライブラリ。
ただし、コストもかかります。RSL は (デフォルトでは、チェックサムを使用してコンパイラによってリンクされていると思います)。他のアプリケーションで使用されている RSL を、変更を考慮して再コンパイルせずに単純に変更することはできません。RSL を変更すると、アプリケーションが期待するチェックサムがライブラリの新しいバージョンと一致しないため、アプリケーションの起動時にエラーが発生します。
その比較を許せば、内部および外部のJavascriptと同様に機能します。SWC オプションは、ホストの HTML ファイルに Javascript を埋め込むようなものです (SWC のアセットは、メインの SWF に静的にリンクされます)。RSL オプションは、HTML ファイルからロードされる外部 JS ファイルを持つようなもの<script src>
です (RSL のアセットは、メインの SWF に動的にリンクされます。