|
|
|||||
Регистрация: Feb 2008
Сообщений: 890
|
Ну, возможно, я не правильно понял и интерпретировал слова Nox-а.
Добавлено через 4 минуты Кстати, переменные оперативно удаляются в соответствии с видимостью благодаря тому, что лежат в области памяти, называемой "стек", а вот объекты лежат в другой области памяти - "куче". Эти области памяти организованы различными образами и чистятся тоже разными способами. Я это вычитал в книге "Философия Java"...))))))))
__________________
скриптограф |
|
|||||
стервочка (я мужик)
|
orcpochta, ну это нормально. так вот если Event не выходит из стэка, то он удаляется сразу.
|
|
|||||
Регистрация: Feb 2008
Сообщений: 890
|
с кем? с объектами?
они лежат себе в куче и лежат до того момента, пока GC (собственно он только в куче и работает) не решит, что объем памяти, занимаемой объектами в куче, не начинает приближаться к общему выделенному системой для этого приложения объему памяти кучи - и вот тут-то он начинает все чистить, что не в прямой области видимости на самом деле это утрированно, т.к. GC чистит порционально, а не все сразу, но общий смысл понятен еще GC может вызываться в каких-то других случаях, но это частности Добавлено через 2 минуты Event лежит в куче (как и любой объект-непримитив), а ссылка на него лежит в стеке
__________________
скриптограф Последний раз редактировалось orcpochta; 14.05.2010 в 16:53. |
|
|||||
Modus ponens
|
http://bugs.adobe.com/jira/browse/SDK-24249
это читать по поводу событий и производительности. Что касается сборщика мусора, то есть два разных явления, дефрагментация памяти и объем реально используемой памяти. Т.е. не зависимо от того когда удаляется созданый объект память будет дефрагментироваться тем самым увеличивая общий объем. Дворник включается исходя из соотношения занятой памяти к доступной, так что даже если вы будете создавать и сразу удалять объекты в большом количестве то рано или поздно дворник включится.
__________________
Hell is the possibility of sanity |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Кстати, по теме GC. Интересность нашел:
spr = new Sprite(); spr.graphics.beginFill(0); spr.graphics.drawCircle(0, 0, 300); spr.graphics.endFill(); super.addChild(spr); super.addEventListener(MouseEvent.CLICK, onClick); private function onClick(e:MouseEvent):void { var i:int = 10000; while (i--) new Sprite(); } Но если эти спрайты сразу же добавить на сцену - памяти используется раз в 50 больше, что толкает на мысль - что эти скачки памяти лишь несовершенность профайлера. С другой стороны, может быть память неуспевает быть дефрагментированной и новые объекты лепятся за старыми. Где правда?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Ну нажали второй раз - а GC еще не успел предыдущие спрайты убрать - логично
добавили на сцену - объекты попали в список отображения и обросли допольнительными обязанностями - потребление памяти возросло - тоже все логично |
|
|||||
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Не по теме. Тоже сейчас читаю, слово "куча" возмутило. Может быть перевод кривой?
А по теме, у меня лично никогда не стояло выбора между использованием callback'а или событий, всегда что то одно удобнее другого. |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
__________________
Отряд Котовскага |
|
|||||
Lorem ipsum
|
всегда использую события, не прыгаю с одного на другое. может для того чтобы всегда и везде точно знать, как я там организовал реакцию на те или иные события.
__________________
Поймай яблоко 2! |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
Часовой пояс GMT +4, время: 00:12. |
|
« Предыдущая тема | Следующая тема » |
|
|