장시간 실행되는 응용 프로그램에서 약간의 메모리 문제가 있습니다. 브러시가 제대로 폐기되도록 페인트 방법을 검사했습니다. 함수에 대한 인수에 Brush
이 생성 된 경우 호출 후 브러시가 삭제됩니까? 내가 완전히 확실하지 오전브러쉬 폐기
g.DrawString(valueText, Font, new SolidBrush(Color.Red),
장시간 실행되는 응용 프로그램에서 약간의 메모리 문제가 있습니다. 브러시가 제대로 폐기되도록 페인트 방법을 검사했습니다. 함수에 대한 인수에 Brush
이 생성 된 경우 호출 후 브러시가 삭제됩니까? 내가 완전히 확실하지 오전브러쉬 폐기
g.DrawString(valueText, Font, new SolidBrush(Color.Red),
,하지만 난 그것을 믿지 않아요 :
사건
는 아래에 설명되어 있습니다.using(var redBrush = new SolidBrush(Color.Red)
{
g.DrawString(valueText, Font, redBrush);
}
아니요, 수동으로해야합니다. 그러나 새로운 브러시를 만들지 않고도 사용할 수있는 기성품 브러시의 경우 Brushes
및 SystemBrushes
클래스를 검사하십시오 (그리고 처분 할 필요가 없으며 처리하지 않아도 됨).
재고 브러시를 폐기 할 수 없습니다. 당신이 그것을 시도하면 던질 것입니다. –
음, 재고 브러쉬를 꺼내서는 안됩니다 ... – toong
확실 할 수 있습니다. –
Brushes.Red를 사용하면 어떨까요? 인스턴스화 할 필요가 없습니다. 그리고 당신은 그것들을 처리해서는 안되기 때문에 '사용하지 마라. (....)' – toong
이것은 컴파일하기 때문에 브러시는 일회용이므로 처분해야 함을 의미한다. –