0

Adobe AIR を使用してフラッシュ ゲームを作成しています。それを .ipa ファイルにコンパイルしようとします (iPad デバイスで実行するため)。

このプロジェクトは大きくはありませんが、小さくもありません (6 つの swc ライブラリと、プリコンパイルされていないコードが多数使用されています)。両方の方法を使用して、Flash FDT 5.5 でゲームをパッケージ化しようとしています。

  • 高速 - 正常に動作しますが、パフォーマンスはひどいです。
  • 標準- 私のコンパイルは次のエラーで終了します:

梱包失敗!パッケージングエラーメッセージ: JAVA_TOOL_OPTIONS: -Xmx3072M Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.TreeMap.put(Unknown Source) at adobe.abc.Algorithms$SetMap.get(Algorithms. java:225) adobe.abc.Algorithms.addUses(Algorithms.java:164) で adobe.abc.Algorithms.findUses(Algorithms.java:186) で adobe.abc.GlobalOptimizer.cp(GlobalOptimizer.java:9381) でadobe.abc.GlobalOptimizer.dce(GlobalOptimizer.java:9627) で adobe.abc.GlobalOptimizer.sccp(GlobalOptimizer.java:4638) で adobe.abc.GlobalOptimizer.optimize(GlobalOptimizer.java:3514) で adobe.abc.GlobalOptimizer .optimize(GlobalOptimizer.java:2215) at adobe.abc.LLVMEmitter.optimizeABCs(LLVMEmitter.java:527) at adobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:

これは Eclipse 開発の一般的な問題であることを知っています。私はそれを標準的な方法で解決しようとしました-> Javaヒープサイズを増やします。ご覧のとおり、十分な 3072M を設定しました。

小さなプロジェクトをコンパイルしようとすると、正常に動作します。私は今何をすべきかわかりません:(。何かアイデアはありますか?

4

2 に答える 2

1

詳細な調査の後、私は解決策を見つけました。環境設定が原因ではありませんでしたが、@Alan が言ったように、Adobe のパッケージャーで問題が発生していました。私が推測するように、「最適化」フェーズで問題が発生していました。

これは非常に有用なフォーラムのトピックです: http://forums.adobe.com/message/4445973#4445973

私のプロジェクトはNAPE物理エンジンを使用していました。私が見つけたように:http://deltaluca.me.uk/forum/index.php/m/2148/0ce4c49cc2c79979154c56737d2978a4/人々はコンパイル時間の問題に遭遇します。私の場合、コンパイル時間は無限でした;)、Javaのメモリ不足例外で終わったもの。解決策は、作成者が少し最適化した最新の NAPE ビルドを使用することでした。この「小さな最適化」により、私のプロジェクトは機能しました。

要約すると、同様の問題がある場合は、コードを確認してください。アドビのパッケージャーが最適化するのが難しいと判断したいくつかの巨大な関数/メソッドを見つけてみてください。

于 2012-05-30T19:08:44.813 に答える
0

-Xmx3072M有効な Eclipse 引数ではありません。「eclipse.ini」設定とその他の Java 設定をデフォルトに復元すると、機能するはずです。JVM の他の部分がメモリ不足になるほど高く設定している可能性があります。

スタック トレースからわかるように、これは Eclipse または FDT の問題ではありません。Adobe のパッケージャーで問題が発生しています。デフォルトでも機能しない場合は、Java に一般的にメモリを追加する方法を参照してください。それでもうまくいかない場合は、ゆっくりと Eclipse のメモリを増やして、うまくいくかどうかを確認してください。

于 2012-05-24T14:15:52.480 に答える