Anthill Game Framework

Tiny framework for creating Flash games.

Инструменты пользователя

Инструменты сайта


anthill:antmemory

AntMemory

AntMemory — это невизуальный класс, предназначенный для отладки. Данный класс позволяет отслеживать удаление объектов из памяти сборщиком мусора.

Чтобы отслеживать удаление объектов из памяти, следует добавить указатель на отслеживаемый объект, используя метод track(), доступ к которому можно получить через AntG. Например:

// Создание какого-либо объекта.
var sprite:Sprite = new Sprite();

// Добавление объекта для слежения за ним в памяти.
AntG.track(sprite, "Background sprite.");

Чтобы посмотреть список существующих объектов, выполните команду -gc в консоли. При выполнении команды -gc будет принудительно запущен сборщик мусора, после чего в консоли отобразится список всех сохранившихся объектов.

Принцип работы AntMemory заключается в хранении слабой ссылки на указанный объект, и если объект был корректно освобожден в вашем коде, то после вызова сборщика мусора он будет удален из памяти, и в том числе из AntMemory. Таким образом, отслеживаемый объект при правильном освобождении пропадет и из AntMemory. Если указатель на добавленный объект в AntMemory сохранился после его удаления и вызова сборщика мусора — это значит, что где-то в вашем коде по прежнему существует указатель на этот объект, и сборщик мусора его игнорирует. Соответственно, такой объект может по праву считаться утечкой, так как он удален из структуры игры, но по прежнему занимает драгоценную память.


anthill/antmemory.txt · Последние изменения: 11.05.2013 00:50 — Илья Уткин