Память, используемая объектом java.awt.Image - PullRequest
0 голосов
/ 15 февраля 2012

Как я могу получить память, используемую экземпляром класса java.awt.Image?

Есть другие подобные вопросы , но есть ли более простой способ вычисления памяти, используемой объектом определенного класса (java.awt.Image)?

Я бы предпочел, чтобы количество байтов использовалось программно, а не через профилировщик, чтобы я мог использовать его для вычисления статистики памяти внутри моего приложения.

Заранее спасибо.

1 Ответ

3 голосов
/ 15 февраля 2012

Это будет зависеть от реализации java.awt.Image, потому что это зависит от того, как подкласс решит хранить данные.

Но для BufferedImage img.getData().getDataBuffer(); даст вам необработанный DataBuffer, в котором хранится изображение. Затем вы можете использовать getDataType() и getSize() для определения емкости буфера данных.

...