刚刚新建和处置Gtk.Window时内存泄漏

时间:2012-08-29 16:18:47

标签: c# mono gtk#

只是创建和处理Gtk.Window对象似乎会导致内存泄漏。

例如,以下代码示例快速占用大于1GB(如Linux系统监视器所示 - 几秒钟后VM和驻留内存):

for(int i = 0 ; i < 10485760; i++)
  new Gtk.Window(Gtk.WindowType.Popup).Dispose();

此GTK常见问题解答页面指的是需要调用ref + sink gtk faq (1.5)

但我已经尝试过两次

var window = new Gtk.Window(Gtk.WindowType.Popup).Ref().Sink(); 
window.Unref();
window.Destroy();

new Gtk.Window(Gtk.WindowType.Popup).Destroy();

它似乎没有任何区别。

有没有人知道在这个用例中防止内存泄漏的意思是什么?

1 个答案:

答案 0 :(得分:0)

啊 - 回答我自己的问题。

这似乎可以防止内存泄漏。

var window = new Gtk.Window(Gtk.WindowType.Popup);
window.Destroy();
window.Dispose();