2012-02-15 3 views
0

クラスのインスタンスによって使用されるメモリを取得するにはどうすればよいですか?java.awt.Imagejava.awt.Imageオブジェクトによって使用されるメモリ

other similar questionsがありますが、特定のクラス(java.awt.Image)の対象が使用するメモリを計算する簡単な方法はありますか?

プロファイラではなくプログラムで使用するバイト数を取得し、アプリケーション内のメモリ統計を計算するために使用することをお勧めします。

ありがとうございます。

+1

約1000個を作成し、ヒープの成長量を確認します。異なる画像サイズで2回目を行い、方程式を計算します。指定された色の深さについて、おおよそ一次方程式( '' k1 + k2 * num_pixels')でなければなりません。 –

答えて

3

java.awt.Imageの実装によって異なります。これは、サブクラスがデータを格納する方法に依存するためです。

しかし、BufferedImageの場合、img.getData().getDataBuffer();は画像を保存する生のDataBufferを提供します。次に、getDataType()getSize()を使用して、データバッファの容量を調べることができます。

関連する問題