0

私が取り組んでいるこの FlashPro/AS3 プロジェクトがあり、@vesper などの助けのおかげで、かなりの前進を遂げることができました。

ただし、現時点では、メモリにわずかなリークがあるようです。せいぜい非常に小さいもの。このようなトレースをいくつかの場所に設定しました。

痕跡: trace("On Load" + System.totalMemory / 1024);

場所: On Load doCleanUp launchVideo

リークはかなり小さく、Scout によると、Uncategorized メモリ内の何かに関連している可能性が最も高いと思います。

ここにスカウトファイルがあります -スカウトファイル

ここに完全なコードがあります

出力に別の目を向けることができれば最高です。

テスト結果は次のように表示されます... 1) 1 つのビデオがクリックされ、そのまま再生されます 2) 2 つのビデオが再生され、停止/破棄されます

4

1 に答える 1

1

Scout Session をざっと見て、初期のフレームと最後のフレームを比較すると、実際にはもう少し多くのメモリを使用しているように見えます。ただし...「現在の合計メモリ」パネルでは、「その他->ネットワークバッファ」にあることがわかります(最後に、そこに8,966 KBのようなものがあります)。私の推測では、netStream が適切にクリーニングされていません。1 つ目 (約 1:12) の後は 182 KB しかありませんが、2 つ目 (1:25) の後は 7,320 KB です。

また、 doCleanup() 関数で呼び出していない理由はありますvp.close();か? DOCUMENTATIONによると、ストリームを強制的に閉じる必要があります。

また 2 - すべてガベージ コレクションでよろしいですか? System.gc();クリーニング後に電話をかけることができます。AIR では完全に動作しますが、Flash Player ではうまく動作しませんが、試してみる価値はあります。Scout でガベージ コレクターを強制することもできます。「メモリ割り当て」タブ (デフォルト レイアウトを使用している場合は下部) に移動すると、小さなビン アイコンが表示されます。違いがあるかどうかを確認してください。

于 2015-07-03T10:15:37.700 に答える