長時間実行するアプリケーションでいくつかのメモリの問題が発生しています。ブラシが適切に廃棄されていることを確認するために、ペイント方法を検査しています。関数の引数に を作成した場合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
新しいブラシを作成せずに使用できる既製のブラシについて調べてください (また、破棄する必要がない / すべきではありません)。