Вот нашел, проблема в классе который хранит пулы. Кто скажет где именно здесь создаются анонимные функции? Каждый раз как достается объект из пула в профилировке пишет вызов метода
MethodClosure
Код AS3:
package _utils
{
public final class ObjectPool
{
private var pool:Vector.<Object>;
private var counter:uint;
private var className:Class;
public function ObjectPool(className:Class, length:uint = 1)
{
this.className = className;
pool = new Vector.<Object>(length);
var i:uint = counter = length;
//создадим начальный набор объектов
while( --i > -1 )
pool[i] = new className();
}
public function getObject():Object
{
if ( counter > 0 )
return pool[ --counter ];
// если объекты закончились
// создаю объект и увеличивая длину массива
pool.unshift( new className() );
return pool[0];
}
public function returnObject(value:Object):void
{
pool[ counter++ ] = value;
}
// необязательный метод для тестирования
public function toString():String
{
return "Pool of " + className + " count = " + counter + "/" + pool.length;
}
}
}