我在长时间运行的应用程序中遇到了一些内存问题;我一直在检查油漆方法,以确保刷子妥善处理。在函数的参数中创建Brush
的情况下,是否会在调用后处理画笔?
案例概述如下:
g.DrawString(valueText, Font, new SolidBrush(Color.Red),
答案 0 :(得分:9)
我不完全确定,但我不相信。这会更安全:
using(var redBrush = new SolidBrush(Color.Red)
{
g.DrawString(valueText, Font, redBrush);
}
答案 1 :(得分:4)
不,你应该手动完成。但是,请检查类Brushes
和SystemBrushes
,了解可以在不创建新刷子的情况下使用的现成刷子(并且您也不需要/不应该处置)。