Я новичок в объектно-ориентированном программировании.Я создал класс со статическим методом, который фиксирует прямоугольники разных размеров на моем экране с различными интервалами.Захваты сохраняются в статическом BufferedImage с использованием статического экземпляра робота:
myStaticBufferedImage = myStaticRobot.createScreenCapture(arbitrarySizeRectangle);
Некоторые операции выполняются с данными (в том числе иногда записываются изображения в файл bmp).При следующем захвате не нужны никакие данные изображения из предыдущего захвата.
Поскольку bufferedImage будет содержать данные переменного размера вплоть до полного размера моего разрешения экрана, я должен объявить это так, как перед моим Приложениемначинает его использовать?
private static BufferedImage myStaticBufferedImage = new BufferedImage(RESOLUTION_X, RESOLUTION_Y, APPROPRIATE_IMAGE_TYPE);
Распределяет ли это многократно используемый фрагмент памяти без каких-либо утечек или неэффективности, поскольку я многократно снимаю изображения?Или метод createScreenCapture заполняет все больше и больше памяти каждый раз, когда я его использую, и просто назначает новый указатель на myStaticBufferedImage?
Я запускаю это приложение на OSX Lion вместе с программным обеспечением, интенсивно использующим процессор.Какова лучшая практика для управления памятью?Спасибо!