0

我正在建立一个网站,为每个区域加载一些 collada 对象。
但我无法清理内存。似乎不可能杀死这些物体。

我发现了一些为 away3d 内部类实现destroy() 方法的示例,但它们并没有很好地工作。

我真的不知道这是播放器垃圾收集器的问题还是 away3d 本身的问题。

有任何想法吗?

4

2 回答 2

1

Grant Skinner 想出了一种不受支持的强制垃圾收集方式,也许可以尝试一下,看看内存使用量是否会减少?如果不是,它至少不是 Flash 播放器。

try {
   new LocalConnection().connect('foo');
   new LocalConnection().connect('foo');
} catch (e:*) {}
// the GC will perform a full mark/sweep
// on the second call of new LocalConnection().connect().

最好的,兰斯

于 2010-03-01T23:04:15.380 回答
1

我很确定问题出在 Away3D 而不是垃圾收集器上。我遇到了类似的问题,经过大量搜索后,我只需要处理内存泄漏并尝试通过回收对象/池来阻止它失控。

您可以看到论坛上正在积极讨论内存泄漏,但没有太多简单的修复方法:http://groups.google.com/group/away3d-dev/browse_thread/thread/3d31808f4d50f0d2/0ef840a2395f3783? lnk=gst&q=内存#0ef840a2395f3783

于 2010-03-02T04:49:55.297 回答