Руководство по actionscript. часть 2, стр. 110
Листинг 14.1. Сборка мусора в действии
package { import flash. display.*; import flash. text.*; import flash. utils.*; import flash. events.*; import flash. system.*;
public class GarbageCollectionDemo extends Sprite { public function GarbageCollectionDemo ( ) { // Данный объект Sprite будет удален в процессе сборки мусора, когда // объем потребленной памяти превысит допустимое значение var s.-Sprite = new Sprite( ):
s. addEventLi stener(Event. ENTER_FRAME. enterFrameLi stener);
// Многократно создает новые объекты, занимая. системную память var timer:Timer = new Timerd. 0); timer. addEventListener(TimerEvent. TIMER, timerListener); timer. start( );
}
private function timerListener (e:TimerEvent):void { // Создаем объект, чтобы захватить часть системной памяти. Это может // быть любой объект, но объекты класса TextField являются довольно // объемными, new TextFi eld( );
}
// Эта функция выполняется до тех пор. пока объект Sprite не будет
// удален из памяти в процессе сборки мусора
private function enterFrameListener (e:Event):void { // Отображаем объем памяти, занимаемой программой traceC’System memory used by this program: » + System. total Memory);
}
}
К задворкам языка ActionScript
Сборка мусора является чрезвычайно важной частью программирования на языке ActionScript. При создании любой программы на языке ActionScript вы должны принимать во внимание вопросы управления памятью. При создании объекта следует решить, нужен ли он на всем протяжении жизни программы. Если это не так, вы должны включить в программу код, который деактивирует этот объект и впоследствии избавляется от него.