我正在建立一个网站,为每个区域加载一些 collada 对象。
但我无法清理内存。似乎不可能杀死这些物体。
我发现了一些为 away3d 内部类实现destroy() 方法的示例,但它们并没有很好地工作。
我真的不知道这是播放器垃圾收集器的问题还是 away3d 本身的问题。
有任何想法吗?
我正在建立一个网站,为每个区域加载一些 collada 对象。
但我无法清理内存。似乎不可能杀死这些物体。
我发现了一些为 away3d 内部类实现destroy() 方法的示例,但它们并没有很好地工作。
我真的不知道这是播放器垃圾收集器的问题还是 away3d 本身的问题。
有任何想法吗?
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().
最好的,兰斯
我很确定问题出在 Away3D 而不是垃圾收集器上。我遇到了类似的问题,经过大量搜索后,我只需要处理内存泄漏并尝试通过回收对象/池来阻止它失控。
您可以看到论坛上正在积极讨论内存泄漏,但没有太多简单的修复方法:http://groups.google.com/group/away3d-dev/browse_thread/thread/3d31808f4d50f0d2/0ef840a2395f3783? lnk=gst&q=内存#0ef840a2395f3783