範例
public class
ClassA {
private
GC gc;
public void
makeGC( Drawable drawable ) {
gc =
new
GC( drawable );
if ( !gc.isDisposed() ) {
//執行某種動作...
}
}
}
解決方案
若要避免資源洩漏,請確定在每個 org.eclipse.swt.graphics.GC 上都呼叫了 dispose()。
附註:這個規則適用於任何形式的 GC 建構子。
public class
ClassA {
private
GC gc;
public void
makeGC( Drawable drawable ) {
gc =
new
GC( drawable );
if ( !gc.isDisposed() ) {
//執行某種動作...
}
gc.dispose();
}
}