2013-07-17 72 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