2011-07-20 4 views
0

私は、実行中のGCのパフォーマンス上の問題を(可能な限り)回避するために、アプリケーションの始めにメモリ内のリサイクル可能なオブジェクトをキャッシュするオブジェクトプールを作成しています。可能であれば、オブジェクトプールが予約しているメモリを最小限に抑えたいので、オブジェクトの汎用フォームを(メソッドなしで)プールし、ジェネリックバリアントを汎用フォームを拡張するより特定の複雑なオブジェクトタイプにキャストしようとしています私は実際にステージ上でそれらを望むとき。これを行うには、一般的なバリアントクラスでは、MovieClipをインポート/拡張する必要があります(複雑なオブジェクト自体がMovieClipsで、DisplayObjectメソッドを使用するため) - クラスをインポートおよび/または拡張するだけでオブジェクトがメモリに追加されます継承されたクラスのメソッドを決して使用しない場合でも、インスタンス化されたときに使用されます。それは意味がありますが、軽いプロファイリングではそれが示唆されているようですが、私は100%確実ではありません。 「空の」MovieClipインスタンスのバイト数はどのくらいですか?FLASH AS3では、オブジェクトのメソッドが使用されていなくても、オブジェクトを拡張するとメモリが増えますか?

おかげで、 CCJ

答えて

0

私は少なくともない非常に、ノーと言うでしょう。それが少しでもしたら、それはあなたに問題を提示することはほとんどありません。とにかくメモリ内のバイトコードの「コピー」は1つしかないので、個々のオブジェクトのフットプリントはプロパティの数と種類によって決まり、実際のコードは入っていません。

関連する問題