Javadoc сказал:Должен ли я явно удалять объект Graphics?
Для повышения эффективности, программисты должны позвонить распоряжаться, когда закончили использование графического объекта, только если он был создан непосредственно из компонента или другой объект Graphics.
Итак, в следующем коде, следует ли мне позвонить graphics.dispose()
перед возвратом? Или я могу?
{ ...
BufferedImage result = new BufferedImage(toWidth, toHeight, BufferedImage.TYPE_INT_RGB);
java.awt.Graphics graphics=result.getGraphics();
graphics.drawImage(im.getScaledInstance(toWidth, toHeight, java.awt.Image.SCALE_SMOOTH), 0, 0, null);
return result;
}
BufferedImage result
возвращен и используется в других местах.
Поскольку «результат» и связанный с ним графический объект («графика») выходят за пределы области после вызова метода, я бы сказал «да». –
Java возвращает объекты по ссылке. Итак, если он располагает графическим объектом, может ли он использовать его снова для возвращаемого объекта? Я понятия не имею, возможно, кто-то может ответить на это. – Loki
@Loki Если он распоряжается им, он больше не сможет его использовать. – Kayaman