![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Сабж. При использовании delete объект просто исчезает из поля видимости или все-таки он полностью удаляется со всеми своими потомками, освобождая при этом память?
__________________
suum quique |
|
|||||
|
Что, никто не знает что ли инфы по поводу? Почему я спрашиваю: просто читал, что переменные, объявленные как var внутри функции не видны другим функциям, но в памяти-то сидят при окончании работы функции! Это вам не класс памяти dynamic в Си! А что с объектами???
__________________
suum quique |
|
|||||
|
нет, удаляет только из поля "видимости" скрипта, при этом не освобождая память. хотя когда я смотрел в ИЕ память освобождалась :) в НН нет :)
|
|
|||||
|
Уау, Иш, а как ты это проверяешть ( в ИЕ и НН )? Есть какой-то дебаггер?
-------- То есть если удалить объект и потом создать объект с таким же именем, в конструкторе надо определить обязательную инициализацию свойств, получается. ![]()
__________________
suum quique |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
Вообщето, никто точно сказать по этому поводу и не сможет,
только предположить, я смею предположить что да, даже думаю что диструкция объекта произойдет и при присвоении значения Null переменной - ссылки на объект, если других переменных - ссылок нет.... опять же это предположение, можно сделать такой пример, сделаем двухкадровый цикл мувиклипа, и в первом кадре будем создавать новые объекты (штук пятьдесят с пятьдесят строковых полей), в другом кадре их удалять, пример (аттаченый файл "test_delete.fla") можно будет посмотреть что происходит с памятью в системе, другого ничего предположить не могу,.... если не удалять то у меня панять загружалась плюс мег в секунду..... с удаление вообще стоит на месте, второй вариант проверки на диструкцию когда переменной - ссылки на объект присваивается Null и потом ссылка удаляется, пример (аттаченый файл "test_delete_null.fla") то же самое. если есть другие предположения ... мне тоже интересно. |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
2ish
странно.... у мне совершенно никаой разницы не было ни NN ни IE только НН сразу двадцать мег сам "отъел" сволочь еще до запуска флэша. а так ничего не заметил ... то же самое. NN 6.2 IE 6.0 |
|
|||||
|
я делал так (см аттач)
при нажитии на кнопку "старт" создаются новые обьекты, на "стоп" обьекты создаваться перестают кнопка "удалить" обьекты удяляет. фиксируем значение памяти до старта и анализируем: в плэйере и НН (4.72) r30, при нажатии на "стоп" память заполняться перестает, по кнопке "удалить" ничего не происходит, значение не меняется. кстати в бетовском шестом плейре происходит тоже самое но в ИЕ (5.0) r42 нажимая на кнопку "удалить", явно видно что память принимает свое изначально значение, до создания обьектов |
|
|||||
|
но, заметил еще кое что (для НН и плейера)
при нажатии на кнопку "удалить", обьекты удаляются, но память не меняет своего значения, но если после этого нажать "старт" (начнут заново создаваться обьекты с теми же именами) то значение памяти расти не будет, то есть "новые" обьекты занимают места "старых" которые остались в памяти. после того как количество "новых" созданных обьектов превысит количество "старых" удаленных, память опять начнет заполняться. ну как правильно заметил john это предположения, хотя, имхо, логичные :) Последний раз редактировалось ish; 30.01.2002 в 01:01. |
|
|||||
|
Thnx.
В любом случае, хорошо что происходит перезапись.
__________________
suum quique |
![]() |
Часовой пояс GMT +4, время: 03:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|