在我的 AS3 中进行清理后,是什么导致了非常小的泄漏? Scout 包含文件

Whats causing a very small leak after cleanUp in my AS3? Scout File Included

我有这个 FlashPro/AS3 项目,并且感谢@vesper 和其他人的帮助,我已经取得了重大进展。

虽然目前,内存似乎有轻微泄漏。一个非常小的充其量。我已经在几个地方设置了这样的痕迹。

追踪: trace("On Load" + System.totalMemory / 1024);

地点: On Load doCleanUp launchVideo

泄漏非常小,根据 Scout,我认为很可能与未分类内存中的某些内容有关。

这是 scout 文件 - Scout File

这是Full code

如果我能在输出上得到另一双眼睛,那就太棒了。

测试结果显示... 1) 一个视频被点击并离开播放 2) 播放了两 (2) 个视频并且 stopped/dismissed

快速查看 Scout Session 并将早期帧与最后帧进行比较后,它看起来确实使用了更多内存。但是...在 "Current Total Memory" 面板中,您可以看到它位于 "Other -> Network Buffers" 中(最后您在那里有 8,966 KB)。所以我的猜测是 netStream 没有被正确清理。在第一个之后(大约 1:12)它只有 182 KB,但是在第二个之后(1:25)它是 7,320 KB。

此外 - 为什么在 doCleanup() 函数中您不调用 vp.close(); 是有原因的?根据 DOCUMENTATION 应该强制流关闭。

另外 2 - 你确定所有垃圾都被收集了吗?您可以尝试在清洁后调用 System.gc();。它在 AIR 中运行良好,在 Flash Player 中效果不佳,但值得一试。您还可以在 Scout 中强制垃圾收集器。如果您转到 "Memory Allocations" 选项卡(如果您使用的是默认布局,则位于底部)并且应该有小垃圾箱图标。看看有没有什么不同。