1

フラッシュアニメーション(swfファイル)を約12時間実行する必要があります。展示会用です。

私の制御外の制約のため、これをラップトップ(現在はWindows Vista(!)から実行していますが、MacOS以外のすべてをVGA経由で1024x768の解像度で再インストールできます。

誰かがこれに関するベストプラクティス/アドバイスの以前の経験を持っていますか?

フラッシュプレーヤーのみを実行しているcomandlineLinuxの方が優れているのでしょうか?swfをネイティブコードに変換して実行するメリットはありますか?

あなたが考えることができる落とし穴はありますか?

どんなアドバイスも大いに活用されました。

Nb Flash Playerを長期間実行するという質問を見たことがありますが、幅広いトピックに関するベストプラクティスやヒントなどを探しています。

誰かが別の「オーバーフロー」が私にもっと良いアドバイスを与えるだろうと感じたら私に知らせてください

提案をありがとう

アンドリュー

編集:

http://www.adobe.com/devnet/flash/articles/efficiency-tips.html ファイルの内容を最適化するためのいくつかの良いヒントがここにあります。

4

2 に答える 2

3

パフォーマンスとエラーの可能性を減らすために、スタンドアロンプ​​レーヤーで実行します。

タイムラインアニメーション、またはActionScriptを使用しないものの場合は、実行したままにしておくことができるように十分にコンパイルする必要があります。

コードが含まれている場合は、リークがないことを確認する必要があります。実際にこれを確認してください。12時間は、重大なリークが発生するのに十分な長さです。

どんなことをしているの?

于 2012-10-19T16:01:08.133 に答える
3

いくつかの一般的なヒント:

  • スタンドアロンFlashPlayerのリリースバージョンを使用していることを確認してください(デバッグバージョンは遅く、より多くのメモリを消費します)
  • イベントリスナーが不要になった場合は常に削除し、念のため、イベントリスナーを追加するときは弱参照を使用してください。
  • .swfファイルをメインswfにロードする場合、Loader.unload()の代わりに.swfをアンロードするときは、必ずLoader.unloadAndStop()を呼び出してください。
  • 常に新しいインスタンスを作成するすべてのクラスで、各インスタンスが大量のメモリを使用するようにすると、メモリリークをより早く見つけることができます。各クラスの先頭に大きなbitmapDataを一時的に追加するだけです(private var _debugDummy:BitmapData = new BitmapData(2000,2000);)。そうすれば、メモリが継続的に増加するかどうかをすばやく観察できます。テストが終了したら、これらのダミーを削除することを忘れないでください。

この場合の具体的なヒント:

  • 時間ベースのロジックをより高速で実行する機能を組み込むことで、はるかに短い期間で「12時間の実行」をシミュレートできます。これにより、リークを見つけるのがはるかに簡単になります。
  • これは展示会なので、クラッシュした場合にフラッシュを再開するようにコンピューターをセットアップすることをお勧めします(または、メモリが不足した場合にサイレントに終了します。これは、予期せず終了する最も一般的な理由です)。私が働いている会社での展示会のために私たちが行ったことは、フラッシュプレーヤーのリリースバージョンからプロジェクターファイル(.exe)を作成することです。次に、プロジェクターの.exeが実行されていることを常にチェックする小さなサービス(社内で構築)がマシン上で実行されています。そうでない場合は、再度起動します。私が言ったように、サービスは社内で構築されていますが、似たようなものを見つけることができる可能性があります。また、電源が切れてコンピューターが再起動した場合に備えて、コンピューターの起動時にフラッシュを開始するようにコンピューターを設定することをお勧めします。展示会の場合は、十分にパラノイアすることはできません:-)
于 2012-10-19T16:38:51.733 に答える