範例

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();
}
}