0

私たちのアプリケーションには、ページで使用される個々のコントロールを作成するために、15 を超えるさまざまなトップレベルの mxml ファイルがあります。

Ant を使用して自動ビルドを実行し、各 mxml ファイルの mxmlc タスクを個別に呼び出しています (質問 78230 の同様の例を参照してください)。ただし、mxml ファイルごとにコンパイラを個別に実行すると、すでにかなりの時間がかかります。ビルド時間は 10 分に近づき、フレックス アプリのコンパイルに 5 分、何百もの Java クラスのコンパイル、jar、インストーラーのビルドなどに 5 分かかります。各フレックス コンパイルの実行はかなり高速 (15 ~ 20 秒) ですが、合計すると時間がかかります。 .

mxmlc への 1 回の呼び出しでそれらすべてをコンパイルする方法はありますか?

4

2 に答える 2

1

少し高速化する 1 つの方法は、最上位クラス以外のすべてを を使用して 1 つの大きな SWCcompcにコンパイルし、次に最上位クラスをコンパイルして SWC をライブラリとして使用することです。そうすれば、複数のアプリケーションで使用されるクラスは一度だけコンパイルされます。

ただし、Flex アプリケーションのコンパイルにかかる時間の大きな要因は JVM の起動時間であり、コンパイルごとに独自の JVM (および Ant プロセス用の JVM) が起動します。これを回避する 1 つの方法は、Ant の代わりに Flex コンパイラ シェル ( fcsh) を使用することですが、もちろんこれには欠点があります。もう 1 つの方法はHellFireを試すことです。これは、別の常時オンのプロセスでコンパイラを実行します。つまり、JVM の開始を待つ必要がなくなります。

于 2009-06-12T13:08:02.680 に答える