1

Adobe のランタイム共有ライブラリ システムを swc に利用したいのですが、その背後にあるプログラミングのように、実際にどのように機能するのかわかりません。実行時に SWC をロードできることは理解していますが、それはどのように行われますか?

Adobe が Flex Framework を Flash Player にキャッシュするために使用する Signed RSL "swz" システムのようなものを模倣したいので、私が質問しているのは、Flash Web サイト用の Flex フレームワークをダウンロードするサイトにアクセスしたことがある場合は、そうすれば、次回、そして永遠に、再度ダウンロードする必要はありません。

サンドボックスから独自のバージョンの Flex SDK を使用していて、他に 5 つの SWC (Mate、RestfulX など) を使用しているため、これを行うことはできません。これらのものを永続的にキャッシュし、変更された場合にのみ再ダウンロードできるようにしたいと考えています。

Adobe RSLドキュメントなど以外に、どうすればよいですか、または何を読むべきですか? これを行うためにjavascriptまたはrubyを使用できますか?

4

2 に答える 2

1

SWC は Flex コンパイラでのみ使用されます。これは実際には、ライブラリ内のコンパイルされたクラスを含む SWF ファイルと、SWF ファイルの内容の XML 記述子ファイルを含む単なる ZIP ファイルです。そのため、RSL は Flex アプリケーションの起動前にロードされる単なる SWF ファイルであるため、SWC ファイルを RSL として直接使用することはできません。

Flex プリローダーは、Flex アプリのコンパイル時に参照されるすべての RSL を読み込みます。場合によっては、これらの RSL は単なる SWF であるため、ブラウザによってキャッシュされます。ほとんどのブラウザーは、https 経由でロードされた SWF をキャッシュしません。

Flash Player には、URL 固有ではない特別な SWF キャッシュがあります (ブラウザのキャッシュと同様)。そのキャッシュに何かを入れるには、アドビによって署名されている必要があります。現在署名されている SWF は、Flex フレームワークとデータ ビジュアライゼーション RSL のみです。プライバシー上の理由から、Adobe はこのポリシーを変更する予定はありません (理由を理解したい場合は、キャッシュ スニッフィングを調べてください)。

ブラウザによってキャッシュされる独自の RSL を簡単に作成できます。これは、Flex Builder でライブラリを RSL に指定するか、コンパイラを直接使用して行うことができます。compc を使用して SWC を作成し、RSL として使用するために SWC から SWF ファイルを抽出できます。ただし、残念ながら多くの SWC には SWC (通常は Flex フレームワーク) に依存関係が含まれているため、注意が必要です。そのため、SWF を RSL として使用する前に、SWC の最適化を行う必要がある場合があります。Flex SDK には、このプロセスを自動化するために使用できるオプティマイザー ツールもあります。

于 2009-11-15T16:52:20.717 に答える
0

悲しい答えはそれが不可能だということです。SWZファイルは、AdobeがFlexフレームワークにのみ使用します。ただし、swcをRLSとしてリンクすると、ブラウザ自体のキャッシュメカニズムのようなものが機能する可能性があります。

于 2009-11-15T05:45:43.830 に答える