![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2004
Адрес: на Ямайке Любит. Знает.
Сообщений: 4
|
недавно Делимитер поведал мне о чудо-граблях, как раз на тему сборщика мусора и циклических ссылок.
грабли дивной силы: это утечка памяти, которая может уронить плеер а то и ось при длительной работе приложения. суть в том, что объекты типа XMLNode, созданные в одном контейнере, и ссылающиеся друг на друга, не удаляются из памяти при удалении контейнера (что происходит с объектами других типов). запустите этот код в стандалоун плеере, откройте таск манагер, и наблюдайте с какой скоростью увеличивается память, расходуемая приложением. _global.x = "Jackdaws love my big sphinx of quartz...\t";
// делаем длиииинную строку
for (var i = 0; i<10; i++) {
_global.x += _global.x;
}
//
this.onEnterFrame = function() {
// удаляем клип тест
test.removeMovieClip();
// создаём клип тест
this.createEmptyMovieClip("test", 1);
//
for (var i = 0; i<50; i++) {
// создаём в клипе тест объект XMLNode
test["node"+i] = new XMLNode(3, x);
// ставим ссылку на объект, созданный в предыдущей итерации
test["node"+i].link = test["node"+(i-1)];
//
}
};
this.onMouseDown = function() {
// остановить
delete this.onEnterFrame;
};
__________________
волны воют, а люди воюют.. всё зигзагообразно |
![]() |
Часовой пояс GMT +4, время: 19:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|