1

actionscript ファイルを作成するよりも、埋め込みスクリプトを使用して MXML クラスを作成する方がはるかに簡単です。

しかし、MXML ファイルを使用すると、ファイル サイズの点でどのようなオーバーヘッドが生じるのだろうかと考えていました。私はパフォーマンスについて特に心配していませんが、それが関連する場合は、調査結果に興味があります.

明らかに、レイアウトを持つ UI コンポーネントについて話しているのです。MXML は視覚化と変更がはるかに簡単ですが、それが何をコンパイルするのか正確にはわかりません。わずかな違いがあることを願っています。

4

2 に答える 2

10

同じ機能を使用する場合、MXML によって swf が大きくなることはありません。

サイズに影響を与えているのは、Flex SDK とそのコンポーネントの使用です。それらを MXML で宣言するか AS3 で宣言するかに関係なく、それらを使用していて、それらのコードが swf に組み込まれています。同様に、Flex RSL を参照していて、Flex のものを直接 swf にビルドすることを避けている場合、どちらの方法でも同じサイズになります。データ バインディングは多くのイベントとリスナーを作成するため、データ バインディング メカニズムを AS3 ユーティリティ関数で宣言した場合よりも肥大化する可能性があります。

MXML は中間の AS3 コードを生成するため、自分で書くよりも冗長になる可能性があるため、その分、サイズがいくらか増える可能性があります。それをのぞき見するには (一般的に理解するのに適しています)、生成されたコードを保持するコンパイラ ディレクティブを使用して調べることができます。

から: http://www.flashguru.co.uk/flex-2-compilation-hidden-goodies

  1. ナビゲーターパネルで Flex プロジェクトを右クリックします。
  2. コンテキスト メニューから [プロパティ] を選択します。
  3. [プロパティ] ウィンドウで [Flex コンパイラ] を選択します。
  4. -keep-generated-actionscript を「追加のコンパイラ引数」フィールドに入力します。
  5. [OK] をクリックして変更を適用します。
  6. [実行] ボタンをクリックして、Flex プロジェクトをビルドします。
  7. ナビゲーター パネルで Flex プロジェクトをもう一度右クリックします。
  8. コンテキスト メニューから [更新] を選択します。
  9. ナビゲーター パネルの Flex プロジェクトの下に、「generated」という名前の新しいフォルダーが表示されます。</li>

プロジェクトのデバッグとプロファイリングを開始したら、コンパイラがどこで正しい (または間違った) ことを行っているかを実際に確認できるため、これは良いことです。

于 2008-11-05T01:58:08.737 に答える
0

Flex フレームワークを (MXML または純粋な Actionscript 経由で) 含めると、最終的な SWF のサイズが大幅に増加します。

1 つのボタンで構成されるフラッシュ ムービーを作成しました。MXML のバージョンは 175K でしたが、Flex を使用しない Actionscript のバージョンは 2K でした。

私自身は使用していませんが、このプロジェクトは (一部の) Flex 機能をより少ない膨張で取得するのに有望なようです:

http://code.google.com/p/e4xu/

于 2009-11-16T21:54:09.237 に答える