代码之家  ›  专栏  ›  技术社区  ›  gcstr

away3d从内存中删除

  •  0
  • gcstr  · 技术社区  · 15 年前

    我正在建立一个网站,为每个区域加载一些collada对象。
    但我没办法清除记忆。似乎不可能杀死这些物体。

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

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

    有什么想法吗?

    2 回复  |  直到 15 年前
        1
  •  1
  •   ThunderChunky_SF    15 年前

    我敢肯定问题出在away3d而不是垃圾收集器上。我也遇到过类似的问题,经过大量的搜索,我不得不处理内存泄漏,并试图通过回收对象/池来阻止它失控。

    你可以看到,在论坛上讨论内存泄漏的问题时,大家都很积极,但并没有太多容易解决的问题: http://groups.google.com/group/away3d-dev/browse_thread/thread/3d31808f4d50f0d2/0ef840a2395f3783?lnk=gst&q=memory#0ef840a2395f3783

        2
  •  1
  •   Lance Pollard    15 年前

    格兰特·斯金纳想出了一个不受支持的方法 Forcing Garbage Collection ,也许可以试试,看看内存使用是否减少?如果不是,至少不是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().
    

    最好的, 兰斯