2013-07-17 102 views
1

我想提出一个游戏,我有一个出现在屏幕上随机几个小字影片剪辑。可以有几个相同类型的字符,当它们从阶段中删除时,我将它们存储在内存池中以重用它们。闪存的嵌入式FLV内存泄漏

这些字符,我打电话让他们做具体的事情,像苍蝇,土地等为了提高性能FLV文件是为他们的不同的行为使这些已经嵌入时间轴几个不同的关键帧。

我有一个问题,即内存分配给视频的金额作为游戏的玩法是在不断增加,即使我不做人物的多个实例。我一直在研究垃圾收集视频,但是我发现所有的东西都是在使用FLVPlayback组件时发现的,并且我没有找到任何有用的东西。

有没有人有任何想法?

谢谢!

回答

0

有多少是你的内存增加?如果它开始于ie。 80 MB和缓慢增加即。到140,然后或者呆在那里,或者减少到120,再次略微上升,那么就没有必要担心了。不幸的是,这就是Flash GC的工作原理。即使你没有泄漏任何记忆,它也会缓慢地显示记忆力的增加(然后当GC收集垃圾,然后再缓慢地上升时突然下降)。

但是,它可能是也,你有一个真正的内存泄漏,但为进行评估,你需要发布一些代码。顺便说一下,使用内存池是一个伟大的想法在游戏中,你已经做好了。

+0

那么它起始于约40MB,然后我会为也许10分钟玩,它上升到约120MB,但是当垃圾收集器运行它下降到60MB和排序以这种方式继续下去。 –

+0

我不知道我会发布什么样的代码,因为它是时间轴上嵌入的FLV导致我的问题。我所做的所有代码都是将MovieClip添加到显示列表中,然后调用gotoAndPlay()... –

+0

然后,正如我所说的,这完全正常:)或者说,这就是Flash的行为。你可以尝试没有FLV字符,看看它是否仍然上升,但我会说它也会走,速度会变慢。你做得越多,速度就越快。但如果它最终倒下,那没关系。 – Koshmaar