1

我正在制作一个草图,它使用一些 PGraphics 对象作为我使用 image() 方法在屏幕上绘制的缓冲区。

我的问题是我注意到一个巨大的内存泄漏,99% 由于这个缓冲区没有被正确销毁。

有没有办法摆脱这些对象以释放一些内存?我查看了旧 GLGS 库的文档,并尝试了 dispose() 方法,但它看起来没有任何效果。

4

2 回答 2

1

在处理论坛中查看这篇帖子,看起来直到 2.0b6 之前 PImages 都存在泄漏。他们建议在那里进行黑客攻击(如下)......

void draw()
{
  PImage img = createImage(width, height, RGB);
  image(img, 0, 0);
  g.removeCache(img);// this is avoiding the leak
  println(frameCount + " " + g.getCache(img));
}
于 2013-05-16T13:44:10.250 回答
1

因此,在处理论坛上发帖后,感谢@vk 的回答,我发现我的问题不是由错误处理 PGraphics 对象造成的。

它存在内存泄漏,但在 2.0b6 版中已修复。

因此,如果您有内存泄漏并且您认为这是一个 PGraphics 错误,请更新到 2.0b8 或更好地查看您的代码。

于 2013-05-17T10:19:12.657 回答