![]() |
memory leaks - как ловить и бороться?
у меня в игре происходит очень интенсивная работа с памятью.
создаются сотни объектов - юнитов, выделяется в них память под массивы, объекты удаляются, списки очищаются. Требуется контроллировать утечки памяти. В С++ движке у меня свой манагер памяти который следит за выделением памяти и сигнализирует если вдруг чего не освободил. какие механизмы в АС3 гарантируют освобождение выделенной памяти? как проконтролировать что память освободилась? имеется ли возможность заметить "родной" менеджер памяти на свой? ибо чую что грустно все может получиться если не контроллировать память. |
Механизмов по управлению памятью в AS3 нет. Есть GC, он работает автоматически. Но для того, чтобы он сработал, необходимо соблюдать правил «намусорил — убери».
|
Цитата:
ок. есть объект: Код AS3:
Код AS3:
удалится ли сама вся память под объекты в Unit выделенная через new или для каждого объекта вызвать delete надо? ну и как нибудь можно подсмотреть у GC что в памяти осталось и что не убрано? |
Удалится (только я не понял шаманства с индексами в массиве, m_unitlist.splice(i, 1) достаточно). delete — только для динамических свойств.
И да, в Flex Builder есть профайлер. |
Цитата:
с точки зрения расположения массива в памяти быстрее и дешевле стереть последний элемент нежели из середины ибо удаление элемента из середины приводит к большой memcpy что не есть гуд. Цитата:
|
С кем, с Flex Builder? http://adobe.com/products/flex/
|
Код AS3:
|
Цитата:
|
а, всё, туплю, понял. Все нормально.
|
Код AS3:
|
progman ети Unit-ы только в масиве или ето DisplayObject-ы и ты их потом кудато addChild-ишь если ето так то я думаю флешь удаляет только линк который достаешь из масива, попробуй трейсить numChildren-ы у контейнеров
|
Цитата:
Добавлено через 1 минуту Цитата:
более того у меня вообще от флеша нет ничего. только один мувиклип 640х480 который я юзаю как поверхность для отрисовки моего контента. и все объекты внутри игровые либо статикой либо в массивах. |
Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 03:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.