Похоже, вы создаете новые объекты, добавляете их на сцену и удаляете ненужные объекты со сцены, что может привести к низкой скорости, так как в памяти будет много нежелательных объектов.Во flash AS3 вы не можете полностью полагаться на GC для очистки мусора.Поэтому лучший подход - генерировать как можно меньше мусора и перерабатывать неиспользуемые объекты всякий раз, когда вам нужен новый объект.
Например, приложение продолжает ставить некоторый круг на сцену и удаляет некоторые из них через фиксированный интервал времени.Так что для такого рода ресурсов реализуем пул ресурсов.
public class ResourcePool {
static function getCircle(prop:Object):Circle {
//check if you already have some circle objects
//if yes pick one apply the prop and return
// else create a new circle with specified prop and return
}
static function recycle(circle:Circle):void {
//add it to available resource array
}
}
Теперь, когда вам нужен объект круга, попросите ResourcePool об этом:
var c:Circle = ResourcePool.getCircle(someProperty);
И всякий раз, когда вы удаляете круг, перерабатывайте его правильно, чтобы его можно было использовать позже.
//remove circle1 object
ResourcePool.recycle(circle1);