|
|
|||||
Регистрация: Nov 2010
Сообщений: 111
|
Удаление класса из памяти
Задался таким вопросом...
Создаю класс далее использую по своему усмотрению. Каким образом мне удалить его из памяти? Спасибо |
|
|||||
[+1 22.07.14]
[+4 12.08.14] [+1 09.02.15] Регистрация: May 2014
Сообщений: 182
|
Создаете экземпляр класса-объект, ссылку на который нужно просто занулить -
|
|
|||||
Это не класс, а экземпляр класса. Это разные вещи, не надо путать понятия.
Никак его нельзя удалить из памяти. Во флеше нельзя управлять памятью. Этим занимается автоматичческий сборщик мусора. Если на этот экземпляр не будет никаких ссылок, то, при необходимости, сборщик мусора его удалит. В этом случае можно сделать так: Но если есть какие-то слушатели событий, добавленные к объекту, или ссылки на него есть в каком-то массиве или еще где-то, то все это тоже нужно удалять. Так же его надо удалить из дисплей листа, если он там есть
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Удалить в итоге сможет только сборщик мусора (CG), а чтобы помочь ему в этом, не оставьте ссылок на _data_item.
Но так же не забывайте, что ссылки остаются и при подписке на события, занесения в массивы и т.п. |
|
|||||
Регистрация: Nov 2010
Сообщений: 111
|
Все понял, спасибо !
Добавлено через 15 часов 11 минут Такой вопрос в продолжение темы. У меня в 1 кадре лежит класс Preloader. После загрузки он кидает на другой кадр с меню. Соответственно Preloader пропадает автоматически? - не нужно ничего чистить? |
|
|||||
.
|
Удалить класс из памяти можно при соблюдении некоторых условий. Во-первых, соблюсти все, что относится к удалению экземпляра почти любого класса, т. е. удалить все ссылки на него. А во-вторых, удалить все ссылки на ApplicationDomain, содержащий definition этого класса. Это накладывает определенные условия на загрузку класса. Как ни странно, он должен быть загружен в домен, отличный от ApplicationDomain.currentDomain.
|
Часовой пояс GMT +4, время: 16:07. |
|
« Предыдущая тема | Следующая тема » |
|
|