2013-07-17 7 views
1

Я делаю игру, где у меня есть несколько маленьких клипов Movie, которые появляются на экране случайным образом. Может быть несколько символов одного типа, и когда они удаляются со сцены, я храню их в пуле памяти, чтобы их повторно использовать.Flash Embedded FLV Memory Leak

Эти персонажи имеют несколько различных ключевых кадров, которые я вызываю, чтобы заставить их делать определенные вещи, такие как муха, земля и т. Д. Чтобы улучшить производительность, были сделаны для их различных действий, и они были встроены в временную шкалу.

У меня возникла проблема, когда объем памяти, назначенной для видео, постоянно увеличивается по мере игры, хотя я не делаю больше экземпляров символов. Я изучал сбор мусора, но все, что я нахожу, касается использования компонента FLVPlayback, и я не нашел ничего полезного.

У кого-нибудь есть идеи?

Спасибо!

ответ

0

Сколько стоит ваша память? Если он начинается с т. Е. 80 МБ и медленное увеличение, т.е. до 140, а затем либо оставаясь там, либо уменьшаясь до 120 и снова немного поднимаясь, тогда нет необходимости беспокоиться. К сожалению, так работает Flash GC. Даже если вы не просачиваете какую-либо память, он медленно покажет увеличение памяти (а затем внезапное сглаживание, поскольку GC собирает мусор и снова медленно поднимается).

Однако, возможно, также, что у вас есть настоящая утечка памяти, но для этого вам нужно будет опубликовать код. Кстати, использование пулов памяти - отличная идея в играх, хорошо, что вы это делаете.

+0

Ну, это начинается примерно с 40 МБ, а затем я буду играть в течение, возможно, 10 минут, и он достигнет около 120 МБ, но когда сборщик мусора запустит его, он опустится до 60 МБ, и вроде так продолжается. –

+0

И я не уверен, какой код я бы разместил, поскольку это FLV, встроенные на временной шкале, которые вызывают у меня проблему. Все, что я делаю с кодом, добавляет MovieClips в список отображения и вызывает gotoAndPlay() ... –

+0

Тогда, как я уже сказал, это совершенно нормально :) или, скорее, это то, как работает вспышка. Вы можете попробовать без персонажей FLV, чтобы увидеть, все ли он продолжает расти, но я бы сказал, что он тоже пойдет, умнее медленнее. Чем больше вы делаете, тем быстрее это происходит. Но если это в конечном итоге упадет, все в порядке. – Koshmaar

 Смежные вопросы

  • Нет связанных вопросов^_^