barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

среда, 7 ноября 2012 г.

away3d 4: 3D-модели, экспортируемые из Prefab3D, и утечка памяти

Полчаса размышлений, и источник утечки памяти, возникающей при пересоздании 3D-объектов, экспортированных из Prefab3D (версия - 2.124), найден. В классе ASBase, являющимся базовым для всех экспортируемых 3D-моделей, отсутствует корректное переопределение метода dispose(), очищающее занимаемые ресурсы. Переопределив метод так:

public override function dispose():void
{
super.dispose();
var i:uint;
for(i=0;i<_meshes.length;i++)
_meshes[i].dispose();
_meshes=null;
for(i=0;i<_containers.length;i++)
_containers[i].dispose();
_containers=null;  
for(i=0;i<_materials.length;i++)
_materials[i].dispose();
_materials=null;
}  
мы избавляемся от утечки памяти.

2 комментария: